actionSupport类

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()方法,然后定位到相应的属性文件.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄鸭and小黑鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值