首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts2 手工编撰代码对action的方法进行输入校验

2013-01-23 
struts2手工编写代码对action的方法进行输入校验手工编写代码实现对action中所有方法的输入校验?通过重写v

struts2 手工编写代码对action的方法进行输入校验

手工编写代码实现对action中所有方法的输入校验

?

通过重写validate()方法实现,validate()方法会校验action中所有与execute方法签名相同的方法。当某个数据校验失败时,我们应该调用addFiledError()方法往系统的filedErrors添加校验失败信息(为了使用addFiled()方法,action可以继承ActionSupport),如果系统的filedErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:filederror/>显示失败信息。

?

??? index.jsp

??? 其中:<s:fielderror></s:fielderror>显示错误的提示信息

?

package com.siln.action;import java.util.regex.Pattern;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class PersonAction extends ActionSupport{  private String username;private String mobile;public String update() {ActionContext.getContext().put("message", "更新成功");return "success";}public String save() {ActionContext.getContext().put("message", "保存成功");return "success";}public void validateSave() {                             //对action中save()进行校验if(this.username == null || "".equals(this.username)) {this.addFieldError("username", "用户名不能为空");}if(this.mobile == null || "".equals(this.mobile)) {this.addFieldError("mobile", "手机号不能为空");}else {if(!Pattern.compile("^1[358]\\d{9}").matcher(this.mobile).matches()) {this.addFieldError("mobile", "手机号格式错误");}}}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getMobile() {return mobile;}public void setMobile(String mobile) {this.mobile = mobile;}}

?

热点排行