快速业务通道

基于Struts 2开发Web应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
o;userList”, 该字符串是 struts-user.xml 中 submitUser action 设置的一个返回结果,该返回结果其实是调用另一个 action 来显示现有 user 列表。

表单校验

Struts 2 提供了很多种校验方式,一种是配置方式,可以用来校验基本数据信息,另一种是编程校验,可以用来校验较为复杂的业务逻辑。

如果是通过配置来校验,需要在 Action 类的同目录下建一个 xml 文件,命名规则是 action 类名 -action 别名 -validation.xml。例如,本示例中:UserAction-submitUser-validation.xml, 当 submitUser action 被调用的时候,会先通过该 xml 配置进行校验。下面代码片段是本示例中配置的校验参数,它指定了对哪些表单字段做哪些校验:

<validators>   <field name="user.userName">   <field-validator type="requiredstring">    <param name="trim">true</param>    <message key="User.UserName.Required"/>   </field-validator>   <field-validator type="stringlength">     <param name="minLength">1</param>     <param name="maxLength">20</param>     <message key="User.UserName.Length"></message>    </field-validator>   </field>   <field name="user.email">    <field-validator type="requiredstring">      <message key="User.Email.Required"></message>    </field-validator>    <field-validator type="email">      <message key="User.Email.Format"></message>    </field-validator>   </field> </validators>

基于Struts 2开发Web应用(7)

时间:2011-01-25 IBM 吴春峰 程炜

Struts 2 定义了一些默认类型,例如 ,email, 可以校验 email 格式,在上例中 user.email 指定了校验表单的 email 字段,type=”requiredstring”表明该字段是必须的,type=”email”表明要检验 email 格式。所有的错误信息可以通过 key 来国际化。

另一种是通过编程校验,在 UserAction 中有一个方法:

public void validateSubmitUser(){    if (user.getPassword().length() < 6){      this.addFieldError("user.password", getText("User.Password.Length"));    } }

注意该方法的命名,validate+Action 方法名,也就是说该方法会在调用 submitUser Action 时自动被 Struts 2 框架调用。

国际化

Struts 2 中提供了各种机制对日期格式,数字格式做相应的国际化。例如通过 Action 同目录下的 package.properties, 具体可以参照附件,示例代码。

对于普通文本的国际化,需要做以下步骤:

设置国际化加载文件路径

struts.properties 中的 struts.custom.i18n.resources 设置了 struts 2 需要自动加载的国际化文件

访问国际化资源

任何继承自 ActionSupport 的 Action 类都可以直接使用 getText 方法根据当前 locale 获取相应键的值

在 JSP 中可以使用 OGNL 表达式 %{getText(''key'')} 或者 <s2:text name="key"/> 来访问国际化资源。

最后,如果以上方式都不适用,可以使用 com.opensymphony.xwork2.util.LocalizedTextUtil 工具类来访问国际化资源。

3.5 异常处理

一般来说,web 应用都会设置一些统一错误页面,用来显示那些未被 try catch 捕捉到的异常信

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号