学习笔记------------------对Action中所有方法进行输入校验和对指定方法输入校验(手工编写代码和xml方式)
2011-02-26 22:08
871 查看
一.所有方法进行输入校验,手工编写代码
1.index.jsp
2.struts.xml
3.message.jsp
4.PersonAction.java 需继承ActionSupport重写相应方法
出现错误便会找到input视图,通过struts2标签输出错误信息。
二.对action指定方法进行校验,手动验证
1.
2.PersonAction.java 只需在原来基础上修改这个action即可,
三.基于XML配置方式实现对action的所有方法进行校验
1.
2.PersonAction.java
3.PersonAction-validation.xml
4.校验器,也就是 <field-validator type="requiredstring">
<message>手机号不能为空!</message>
</field-validator>中的type
5.补充
6.补充
四.基于XML配置方式实现对指定action方法校验
1.
2.PersonAction-manage_update-validation.xml,这个取名字很重要,尤其是中间部分manage_update,是和<action name="manage_update"对应的
3.补充
4.校验文件xml和相应的需要校验的action在同目录下。
代码链接http://putaoputao.qupan.cc/7004542.html
1.index.jsp
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>输入校验</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <s:fielderror/> <form action="${pageContext.request.contextPath}/person/manage_update.action" method="post"> 用户名:<input type="text" name="username"/>不能为空<br/> 手机号:<input type="text" name="mobile"/>不能为空,并且要符合手机号的格式1,3/5/8,后面是9个数字<br/> <input type="submit" value="提 交"/></form> </body> </html>
2.struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="person" namespace="/person" extends="struts-default"> <action name="manage_*" class="cn.itcast.action.PersonAction" method="{1}"> <result name="input">/index.jsp</result> <result name="message">/WEB-INF/page/message.jsp</result> </action> </package> </struts>
3.message.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>结果</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> ${message } </body> </html>
4.PersonAction.java 需继承ActionSupport重写相应方法
package cn.itcast.action; import java.util.regex.Pattern; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class PersonAction extends ActionSupport{ private String username; private String 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; } public String update(){ ActionContext.getContext().put("message", "更新成功"); return "message"; } public String save(){ ActionContext.getContext().put("message", "保存成功"); return "message"; } @Override public void validate() {//会对action中的所有方法校验 if(this.username==null || "".equals(this.username.trim())){ this.addFieldError("username", "用户名不能为空"); } if(this.mobile==null || "".equals(this.mobile.trim())){ this.addFieldError("mobile", "手机号不能为空"); }else{ if(!Pattern.compile("^1[358]//d{9}$").matcher(this.mobile).matches()){ this.addFieldError("mobile", "手机号格式不正确"); } } } }
出现错误便会找到input视图,通过struts2标签输出错误信息。
二.对action指定方法进行校验,手动验证
1.
2.PersonAction.java 只需在原来基础上修改这个action即可,
package cn.itcast.action; import java.util.regex.Pattern; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class PersonAction extends ActionSupport{ private String username; private String 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; } public String update(){ ActionContext.getContext().put("message", "更新成功"); return "message"; } public String save(){ ActionContext.getContext().put("message", "保存成功"); return "message"; } public void validateUpdate() {//会对update()方法校验 if(this.username==null || "".equals(this.username.trim())){ this.addFieldError("username", "用户名不能为空"); } if(this.mobile==null || "".equals(this.mobile.trim())){ this.addFieldError("mobile", "手机号不能为空"); }else{ if(!Pattern.compile("^1[358]//d{9}$").matcher(this.mobile).matches()){ this.addFieldError("mobile", "手机号格式不正确"); } } } }
三.基于XML配置方式实现对action的所有方法进行校验
1.
2.PersonAction.java
package cn.itcast.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class PersonAction extends ActionSupport{ private String username; private String 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; } public String update(){ ActionContext.getContext().put("message", "更新成功"); return "message"; } public String save(){ ActionContext.getContext().put("message", "保存成功"); return "message"; } }
3.PersonAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> <validators> <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名不能为空!</message> </field-validator> </field> <field name="mobile"> <field-validator type="requiredstring"> <message>手机号不能为空!</message> </field-validator> <field-validator type="regex"> <param name="expression"><!--[CDATA[^1[358]/d{9}$]]--></param> <message>手机号格式不正确!</message> </field-validator> </field> </validators>
4.校验器,也就是 <field-validator type="requiredstring">
<message>手机号不能为空!</message>
</field-validator>中的type
5.补充
6.补充
四.基于XML配置方式实现对指定action方法校验
1.
2.PersonAction-manage_update-validation.xml,这个取名字很重要,尤其是中间部分manage_update,是和<action name="manage_update"对应的
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> <validators> <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名不能为空!</message> </field-validator> </field> <field name="mobile"> <field-validator type="requiredstring"> <message>手机号不能为空!</message> </field-validator> <field-validator type="regex"> <param name="expression"><!--[CDATA[^1[358]/d{9}$]]--></param> <message>手机号格式不正确!</message> </field-validator> </field> </validators>
3.补充
4.校验文件xml和相应的需要校验的action在同目录下。
代码链接http://putaoputao.qupan.cc/7004542.html
相关文章推荐
- struts2-18基于XML配置方式实现对action的所有方法或指定方法进行输入校验
- struts2对Action中所有方法进行输入校验(手工编写代码)
- 基于XML配置方式实现对action的所有方法和指定方法进行输入校验
- 基于xml配置方式实现对action中指定方法进行输入校验
- 基于XML配置方式实现对action的所有方法进行输入校验
- 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的所有方法进行输入校验
- 基于xml配置方式实现对action中指定方法进行输入校验
- Struts2手工编写代码实现对Action中所有方法输入校验
- 手工编写代码实现对action中所有方法输入校验
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
- Struts2基于XML配置方式实现对action的所有方法进行输入校验
- Struts2_基于XML配置方式实现对action的所有方法进行校验
- Struts2学习笔记(十四):基于XML配置方式实现对action的所有方法进行校验
- 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的全部方法进行输入校验
- 复习struts2之基于XML配置方式实现对action的所有方法进行校验
- 基于XML配置方式实现对action的所有方法进行校验
- struts2对action中的方法进行输入校验---xml配置方式(3)
- 基于XML配置方式对指定action方法实现输入校验
- Struts2 基于XML配置方式实现对action的所有方法进行校验
- 第二十二章 基于XML配置方式实现对action的所有方法进行校验