struts2:字段校验和非字段校验代码示例:
此段代码中分别对字符串、日期、整型、email进行数据校验;
Validation01Action.java
[/size]
package org.validation.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class Validation01Action extends ActionSupport {
private String name;
private String email;
private int age;
private Date date;
public String execute()throws Exception{
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP '1.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<s:fielderror></s:fielderror>
<s:form action="validator01">
<s:textfield name="name" label="姓名"></s:textfield>
<s:textfield name="email" label="邮箱"></s:textfield>
<s:textfield name="age" label="年龄"></s:textfield>
<s:textfield name="date" label="日期"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
如果是以字段型校验器配置,则参考以下:
Validation01Action-validation.xml
(1)<field name="">为一个属性,name为Action属性名称;
(2)<field-validator type="">为配置一个校验器,type为校验器的类型;
(3)<param>为配置参数,比如最小值、最大值;
(4)<message>为错误信息,如果需要对错误提示信息进行国际化,则可以在全局国际化资源文件中配置,在校验规则文件中编写如下形式:<message key="key"/>,key为国际化资源文件的key即可;
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="name">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>姓名不能为空</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,10})]]></param>
<message>姓名要在4-10位之间</message>
</field-validator>
</field>
<field name="age">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>年龄不能为空</message>
</field-validator>
<field-validator type="int">
<param name="min">0</param>
<param name="max">200</param>
<message>年龄范围在0-200之间</message>
</field-validator>
</field>
<field name="email">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>邮箱不能为空</message>
</field-validator>
<field-validator type="email">
<message>邮箱格式不正确</message>
</field-validator>
</field>
<field name="date">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>日期不能为空</message>
</field-validator>
<field-validator type="date">
<param name="min">2010-01-01</param>
<param name="max">2010-12-31</param>
<message>日期在2010-01-01到2010-12-31之间</message>
</field-validator>
</field>
</validators>
而如果采用非字段校验器,则
(1)<validator type="">表示一个校验器,type属性表示校验器的类型;
(2)<param name="fieldName"></param> 此元素是必要的,指定Action属性的名称;
(3)<message>表示错误信息;
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<validator type="requiredstring" short-circuit="true">
<param name="fieldName">name</param>
<param name="trim">true</param>
<message key="aa"></message>
</validator>
<validator type="requiredstring" short-circuit="true">
<param name="fieldName">age</param>
<param name="trim">true</param>
<message>年龄不能为空</message>
</validator>
<validator type="requiredstring" short-circuit="true">
<param name="fieldName">email</param>
<param name="trim">true</param>
<message>邮箱不能为空</message>
</validator>
<validator type="requiredstring" short-circuit="true">
<param name="fieldName">date</param>
<param name="trim">true</param>
<message>日期不能为空</message>
</validator>
<validator type="regex">
<param name="fieldName">name</param>
<param name="expression"><![CDATA[(\w{4,10})]]></param>
<message>姓名要在4-10位之间</message>
</validator>
<validator type="int">
<param name="fieldName">age</param>
<param name="min">0</param>
<param name="max">200</param>
<message>年龄范围在0-200之间</message>
</validator>
<validator type="email">
<param name="fieldName">email</param>
<message>邮箱格式不正确</message>
</validator>
<validator type="date">
<param name="fieldName">date</param>
<param name="min">2010-01-01</param>
<param name="max">2010-12-31</param>
<message>日期在2010-01-01到2010-12-31之间</message>
</validator>
</validators>
分享到:
相关推荐
自己做的struts2输入校验,很详细的
要求使用Struts2的内建校验器校验“书名”、“作者”、“出版日期”、“价格”和“库存数量”字段;要求手动编写代码校验“书号”的有效性;要求手动编写代码校验“出版社”字段中是否包含了“出版社”三个字。
8.2.2 Struts2非字段校验的配置文件形式 161 8.2.3 Struts2输入校验出错信息的国际化配置形式 163 8.3 集合类型输入校验介绍 165 8.3.1 Struts2中单个Java对象的输入校验形式 166 8.3.2 Struts2对象集合即批量输入的...
字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...
字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...
字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...
字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12.Struts2_04_validate_properties ...
(3) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则,并对自定义校验器要求密码必须包含数字、字母以及两个以上的特殊字符(!@#$%^&*)。 (4) 对用户...
(2) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则,并对自定义校验器要求密码必须包含数字、字母以及两个以上的特殊字符(!@#$%^&*)。 (3) 对用户...
(1) 按用户权限和功能分为普通用户和管理员两部分 (2) 普通用户只需浏览发布出来的公告即可。 (3) 管理员可以增加,修改,删除用户,并撰写,编辑,删除公告。 (4) 用户注册,需要通过Struts2字段校验判断用户注册...
(3) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则。设置用户名,密码的非空判断和最小及最大长度,两次密码输入是否一致,设置年龄范围,设置出生...
2.Struts2 框架主要有两个核心配置文件:struts.properties 和(struts.xml) 3.struts2 的框架校验包含字段校验和(非
在struts框架中,如果每次都去校验form中的每个字段,显然费时费力,本例通过java反射得到form中的字段和值,并较验,用于在与数据库交互之前的校验,从而防止数据库恶意注入. 随包附带一个通用的易扩展的正则表达式校验类...
2.增强了域对象列表的校验和棱柱列表的校验。 3.实现了编译警告功能,若选择了IgnoreWarning选择框,编译警告即不影响代码生成。 ===============0.7.16=========================== 本版是Java通用代码生成器...
2.4.4. Struts如何实现 Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流...............................................................................
2.4.4. Struts 如何实现Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流................................................................................
基于struts2+hibernate+spring+spring security,实现了单表,主明细表增删改查,完整的组织结构树和权限管理体系,支持多语设置和自动生成多语言文件,支持可配置的字段校验器,默认值设置,支持数据权限管理,等等,使软件...
例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要...
8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...
8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...