对Action指定方法进行校验

来源:互联网 发布:淘宝手机估价 编辑:程序博客网 时间:2024/06/05 10:24

手工编写代码实现对action指定方法输入校验:

通过validateXxx()方法实现,validateXxx只会校验action中方法名为Xxx的方法。其中Xxx的第一个字母要大写。

code:

index.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>    <form action="${pageContext.request.contextPath}/person/manage_update.action" method="post">   用户名:<input type="text" name="username"><br/>   手机号:<input type="text" name="mobile"><br/>   <input type="submit" value="提交"/>   </form>  </body></html>

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>

Person.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{/** * @author wangfeng */private static final long serialVersionUID = 6609644196829871636L;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";}//will validate the "update" functionpublic void validateUpdate(){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", "手机号格式不正确");}}}}



原创粉丝点击