使用 Struts Validator(1)
作者: 来源:it167 点击: 日期:2007-01-28 |
|
|
改变欢迎页面
首先,需要在主页面上添加链接;这个链接将把用户带到一个简单的表单,在这个表单上演示一些验证规则。如果访问示例应用程序,可以迅速地看到显示的默认页面是保存在应用程序结构的页面目录中的 Welcome.jsp。请在文本处理器或 IDE 中打开这个文件。
struts-blank WAR 提供的版本是个好的开始;要改变显示的文本,甚至不需要触动这个文件以及保存在 MessageResources 文件中的文本(我稍后就会介绍)。所有需要做的,只是添加一个简单的链接。请把清单 2 中的粗体行添加到 Welcome.jsp 文件:
清单 2. Welcome.jsp 文件
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %> <html:html locale="true">
<head>
<title><bean:message key="welcome.title"/></title>
<html:base/>
</head>
<body bgcolor="white"> <logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
<font color="red">
ERROR: Application resources not loaded -- check servlet container
logs for error messages.
</font>
</logic:notPresent> <h3><bean:message key="welcome.heading"/></h3>
<p><bean:message key="welcome.message"/></p>
<p>
<ul>
<li><html:link action="/TestSimpleValidation">
<bean:message key="welcome.test-validation" />
</html:link></li>
</ul>
</p> </body>
</html:html>
|
html:link 标记是 Struts 中非常基本的构造。在这里,用它链接到一个 Struts Action,后者将装入一个有一些验证示例的页面。但在介绍它之前,要修改一些属性(welcome.title、welcome.heading 和 welcome.message),还要添加一个属性(welcome.test-validation)。
这些属性在 MessageResources.properties 文件中,该文件在应用程序结构的 WEB-INF/classes 目录中。请打开这个文件,到文件的底部,按下面粗体的部分做修改:
# -- welcome --
welcome.title=Struts Validator Test Application
welcome.heading=Welcome to the Validation Tester Application!
welcome.message=This is a simple application meant to test and
demonstrate the Struts Validator component.
welcome.test-validation=Test out some simple uses of the Struts Validator
|
现在只需要添加一个简单的 forward 到 struts-config.xml 文件(这个文件应当在应用程序的 WEB-INF 文件夹中)。查找 action-mappings 元素并添加下面的内容:
<action-mappings>
<action path="/TestSimpleValidation"
forward="/pages/test-validation.jsp" /> <-- Other Action mappings -->
</action-mappings>
|
做了这些修改,初始的欢迎页面即已就绪。在下一节,将重新部署应用程序,测试这个页面。
重新部署应用程序
每次重新部署的时候,只要做几个简单步骤:
1、用 jar 命令把应用程序压缩回 WAR 文件,如清单 3 所示:
清单 3. jar 命令
[bmclaugh:/usr/local/java]$ cd staging
[bmclaugh:/usr/local/java/staging]$ jar cvf ../test-validation.war *
added manifest
ignoring entry META-INF/
ignoring entry META-INF/MANIFEST.MF
adding: WEB-INF/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/MessageResources.properties(in = 1167)
(out= 488)(deflated 58%)
adding: WEB-INF/classes/resources/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/resources/MessageResources.properties(in = 1480)
(out= 655)(deflated 55%)
adding: WEB-INF/lib/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/lib/commons-beanutils.jar(in = 118726) (out= 105729)
(deflated 10%)
adding: WEB-INF/lib/commons-collections.jar(in = 175426) (out= 144506)
(deflated 17%)
adding: WEB-INF/lib/commons-digester.jar(in = 109096) (out= 99033)
(deflated 9%)
adding: WEB-INF/lib/commons-fileupload.jar(in = 22379) (out= 19246)
(deflated 13%)
adding: WEB-INF/lib/commons-logging.jar(in = 38015) (out= 34595)
(deflated 8%)
adding: WEB-INF/lib/commons-validator.jar(in = 84260) (out= 76342)
(deflated 9%)
adding: WEB-INF/lib/jakarta-oro.jar(in = 65261) (out= 56142)
(deflated 13%)
adding: WEB-INF/lib/struts.jar(in = 526578) (out= 480962)
(deflated 8%)
adding: WEB-INF/src/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/src/build.xml(in = 3672) (out= 1080)(deflated 70%)
adding: WEB-INF/src/java/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/src/java/resources/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/src/java/resources/application.properties(in = 1480)
(out= 655)(deflated 55%)
adding: WEB-INF/src/README.txt(in = 1923) (out= 837)(deflated 56%)
adding: WEB-INF/struts-bean.tld(in = 8860) (out= 771)(deflated 91%)
adding: WEB-INF/struts-config.xml(in = 6665) (out= 1994)(deflated 70%)
adding: WEB-INF/struts-html.tld(in = 67559) (out= 2069)(deflated 96%)
adding: WEB-INF/struts-logic.tld(in = 14731) (out= 830)(deflated 94%)
adding: WEB-INF/struts-nested.tld(in = 65059) (out= 2086)(deflated 96%)
adding: WEB-INF/struts-tiles.tld(in = 7842) (out= 717)(deflated 90%)
adding: WEB-INF/tiles-defs.xml(in = 1379) (out= 535)(deflated 61%)
adding: WEB-INF/validation.xml(in = 2121) (out= 550)(deflated 74%)
adding: WEB-INF/validator-rules.xml(in = 12254) (out= 1628)(deflated 86%)
adding: WEB-INF/web.xml(in = 1942) (out= 582)(deflated 70%)
adding: index.jsp(in = 276) (out= 188)(deflated 31%)
adding: pages/(in = 0) (out= 0)(stored 0%)
adding: pages/Welcome.jsp(in = 657) (out= 318)(deflated 51%)
|
2、用 jar 的 tvf 选项可以确保 WAR 文件包含所有应当包含的内容:
清单 4. tvf 选项
[bmclaugh:/usr/local/java/staging]$ cd ..
[bmclaugh:/usr/local/java]$ jar tvf test-validation.war
0 Thu May 19 17:13:34 CDT 2005 META-INF/
70 Thu May 19 17:13:34 CDT 2005 META-INF/MANIFEST.MF
0 Thu May 19 16:51:20 CDT 2005 WEB-INF/
0 Thu May 19 16:55:00 CDT 2005 WEB-INF/classes/
1167 Thu May 19 16:55:00 CDT 2005 WEB-INF/classes/MessageResources.properties
0 Thu May 19 16:51:20 CDT 2005 WEB-INF/classes/resources/
1480 Thu May 19 16:51:20 CDT 2005 WEB-INF/classes/resources/
MessageResources.properties
0 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/
118726 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/commons-beanutils.jar
175426 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/commons-collections.jar
109096 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/commons-digester.jar
22379 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/commons-fileupload.jar
38015 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/commons-logging.jar
84260 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/commons-validator.jar
65261 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/jakarta-oro.jar
526578 Thu May 19 16:51:20 CDT 2005 WEB-INF/lib/struts.jar
0 Thu May 19 16:51:20 CDT 2005 WEB-INF/src/
3672 Thu May 19 16:51:20 CDT 2005 WEB-INF/src/build.xml
0 Thu May 19 16:51:20 CDT 2005 WEB-INF/src/java/
0 Thu May 19 16:51:20 CDT 2005 WEB-INF/src/java/resources/
1480 Thu May 19 16:51:20 CDT 2005 WEB-INF/src/java/resources/application.properties
1923 Thu May 19 16:51:20 CDT 2005 WEB-INF/src/README.txt
8860 Thu May 19 16:51:20 CDT 2005 WEB-INF/struts-bean.tld
6665 Thu May 19 16:51:20 CDT 2005 WEB-INF/struts-config.xml
67559 Thu May 19 16:51:20 CDT 2005 WEB-INF/struts-html.tld
14731 Thu May 19 16:51:20 CDT 2005 WEB-INF/struts-logic.tld
65059 Thu May 19 16:51:20 CDT 2005 WEB-INF/struts-nested.tld
7842 Thu May 19 16:51:20 CDT 2005 WEB-INF/struts-tiles.tld
1379 Thu May 19 16:51:20 CDT 2005 WEB-INF/tiles-defs.xml
2121 Thu May 19 16:51:20 CDT 2005 WEB-INF/validation.xml
12254 Thu May 19 16:51:20 CDT 2005 WEB-INF/validator-rules.xml
1942 Thu May 19 16:51:20 CDT 2005 WEB-INF/web.xml
276 Thu May 19 16:51:20 CDT 2005 index.jsp
0 Thu May 19 16:53:24 CDT 2005 pages/
657 Thu May 19 16:51:20 CDT 2005 pages/Welcome.jsp
|
|