您的位置:首页 > 编程语言 > Java开发

黑马程序员--Struts2.3.7技术的汇…

2015-12-24 10:27 387 查看
--------期待与您交流------
输入校验功能:分为手动校验和基于xml文件的校验,当然也有基于注解的校验,这里先不提;校验还分为针对所有方法和指定方法:首先说手动校验的:
package cn.itcast.web.struts.actions;

import java.util.Map;

import cn.itcasst.domain.Student;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class RegisterAction extends ActionSupport {

 // 必须要为该字段提供set和get方法;

 private Student student;

 @Override

 public String execute() throws Exception {

  // 如果不出意外,即处理成功,在session中存入一个 记,即一个学生类;

  ActionContext.getContext().getSession().put("student", student);

  return SUCCESS;

 }

 public String update() {

  // 如果不出意外,即处理成功,在session中存入一个 记,即一个学生类;

  ActionContext.getContext().getSession().put("student", student);

  return SUCCESS;

 }

 

 public Student getStudent() {

  return student;

 }

 public void setStudent(Student student) {

  this.student = student;

 }

}

手动校验要注意,需要继承validate方法,这是对所有方法进行校验,如果要针对某个方法,比如update方法进行校验,那么就应该定义一个方法,取名为validateUpdate,在这里进行校验; 
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"><!--真的RegisterAction下的所有方法进行 验,命名规则    RegisterAction-validation.xml--><validators> <field name="student.name">  <field-validator type="requiredstring">   <!--这里可以指定资源文件中键值-->   <message key="error.username.required" />  </field-validator>  <field-validator type="regex">  <!--正则表达式 验器-->   <param name="expression">    <![CDATA[\w{5,10}]]>   </param>   <message> 式5到10</message>  </field-validator> </field> <field name="student.password">  <field-validator type="requiredstring">   <message >    密 不得为空   </message>  </field-validator> </field></validators>

基于xml文件的校验方式:针对所有方法进行校验的命名规则:ActionClassName-validation.xml;里面的注释写的比较清楚;针对某个方法的命名规则是:ActionClassName-ActionName-validation.xml;其他都一样。 转发至微博
 转发至微博
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: