actionSupport类

actionSupport类actionSupport类该类实现了action接口和其他的几个有用的接口,比如数据校验、错误消息本地化等.继承该类后,这些功能便自动获得.一、基本校验publicvoidvalidate(){PortfolioServiceps=getPortfolioService();if(getPassword().length()==0){…

actionSupport类

该类实现了action接口和其他的几个有用的接口,比如数据校验、错误消息本地化等.继承该类后,这些功能便自动获得.

一、基本校验

public void validate(){
  PortfolioService ps = getPortfolioService();
  if ( getPassword().length() == 0 ){
    addFieldError( "password", "Password is required.") );
  }...
}

public String validateToRegView(){
  
  ...}

验证方法执行完,控制权返回到工作流拦截器,该方法没有返回值,秘密就在于校验生成的错误消息.
工作流拦截器会查看是否有错误消息生成,如果有的话,他会更改请求的工作流,终止请求处理并立即
返回到用户的输入表单页面.在页面上会显示错误消息.

二、为消息文本使用资源束

硬编码错误消息在action中是不可想象的,好的方式是采用外部资源束文件.

ActionSupport提供了两个接口实现该功能:

  1. com.opensymphony.xwork2.TextProvider提供了从资源束中提取消息的方法.ActionSupport类给出了实现.使用这些方法都需要指定key值,然后返回和该action关联的属性文件中key所对应的消息.

Register.properties:

user.exists=This user already exists.
username.required=Username is required.
password.required=Password is required.
portfolioName.required=Portfolio Name is required.

==该文件需要Action放在一起.并且文件名要一致==,然后即可通过getText()方法来访问消息了.

addFieldError("username", getText( "user.exists"));
  1. com.opensymphony.xwork2.LocaleProvider接口暴露了getLocale()方法.
    ActionSupport实现了该接口检索用户设置在浏览器中的locale信息.
    ActionSupport的TextProvider实现每次接受到消息文本时,也会检查locale信息,他是通过调
    用LocaleProvider接口的getLocale()方法,然后定位到相应的属性文件.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/34147.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注