Struts2-字段优先校验
2016-10-08 17:56
330 查看
项目结构如下:
1、新建jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<s:form action="login.action" method="post">
<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>
2、新建action文件
/*
*@Author swxctx
*@time 2016年10月4日
*/
package com.sw.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String name;
private String email;
private int age;
private Date date;
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;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "success";
}
}
3、配置web.xml与struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2-test-5-jy</display-name>
<filter>
<filter-name>Struts2-test-5-jy</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2-test-5-jy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
4、字段有限校验配置文件:
文件命名规则:action名字-validation.xml
LoginAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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">
<!-- !NULL -->
<field-validator type="requiredstring">
<message key="name.invalid"></message>
</field-validator>
<!-- Length -->
<field-validator type="stringlength">
<param name="minLength">2</param>
<param name="maxLength">4</param>
<message>Length:${minLength}-${maxLength}</message>
</field-validator>
</field>
<field name="email">
<!-- !NULL -->
<field-validator type="requiredstring">
<message key="email.invalid"></message>
</field-validator>
</field>
<field name="age">
<!-- !NULL -->
<field-validator type="required">
<message key="age.invalid"></message>
</field-validator>
<!-- Size -->
<field-validator type="int">
<param name="min">0</param>
<param name="max">150</param>
<message>Age:${min}-${max}</message>
</field-validator>
</field>
<field name="date">
<!-- !NULL -->
<field-validator type="required">
<message key="date.invalid"></message>
</field-validator>
<!-- size -->
<field-validator type="date">
<param name="min">2000-1-1</param>
<param name="max">2016-10-5</param>
<message>Date:${min}_${max}</message>
</field-validator>
</field>
</validators>
5、国际化配置文件
package_en_US.properties:
name.invalid=Name cant't be blank!!!
email.invalid=Email cant't be blank!!!
age.invalid=Age cant't be blank!!!
date.invalid=Date cant't be blank!!!
package_ZH_CN.properties:
name.invalid=\u59D3\u540D\u4E0D\u5408\u6CD5
email.invalid=\u90AE\u4EF6\u8F93\u5165\u4E0D\u5408\u6CD5
age.invalid=\u5E74\u9F84\u4E0D\u80FD\u4E3A\u7A7A
date.invalid=\u65E5\u671F\u4E0D\u80FD\u4E3A\u7A7A
1、新建jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<s:form action="login.action" method="post">
<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>
2、新建action文件
/*
*@Author swxctx
*@time 2016年10月4日
*/
package com.sw.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String name;
private String email;
private int age;
private Date date;
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;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "success";
}
}
3、配置web.xml与struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2-test-5-jy</display-name>
<filter>
<filter-name>Struts2-test-5-jy</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2-test-5-jy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
<?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="Strute2-test-5-jy" extends="struts-default"> <action name="login" class="com.sw.action.LoginAction"> <result name="success">/success.jsp</result> <result name="input">/login.jsp</result> </action> </package> </struts>
4、字段有限校验配置文件:
文件命名规则:action名字-validation.xml
LoginAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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">
<!-- !NULL -->
<field-validator type="requiredstring">
<message key="name.invalid"></message>
</field-validator>
<!-- Length -->
<field-validator type="stringlength">
<param name="minLength">2</param>
<param name="maxLength">4</param>
<message>Length:${minLength}-${maxLength}</message>
</field-validator>
</field>
<field name="email">
<!-- !NULL -->
<field-validator type="requiredstring">
<message key="email.invalid"></message>
</field-validator>
</field>
<field name="age">
<!-- !NULL -->
<field-validator type="required">
<message key="age.invalid"></message>
</field-validator>
<!-- Size -->
<field-validator type="int">
<param name="min">0</param>
<param name="max">150</param>
<message>Age:${min}-${max}</message>
</field-validator>
</field>
<field name="date">
<!-- !NULL -->
<field-validator type="required">
<message key="date.invalid"></message>
</field-validator>
<!-- size -->
<field-validator type="date">
<param name="min">2000-1-1</param>
<param name="max">2016-10-5</param>
<message>Date:${min}_${max}</message>
</field-validator>
</field>
</validators>
5、国际化配置文件
package_en_US.properties:
name.invalid=Name cant't be blank!!!
email.invalid=Email cant't be blank!!!
age.invalid=Age cant't be blank!!!
date.invalid=Date cant't be blank!!!
package_ZH_CN.properties:
name.invalid=\u59D3\u540D\u4E0D\u5408\u6CD5
email.invalid=\u90AE\u4EF6\u8F93\u5165\u4E0D\u5408\u6CD5
age.invalid=\u5E74\u9F84\u4E0D\u80FD\u4E3A\u7A7A
date.invalid=\u65E5\u671F\u4E0D\u80FD\u4E3A\u7A7A
相关文章推荐
- Struts2校验框架,有效的xml(字段优先)
- Struts2校验框架,有效的xml(字段优先)
- struts2中使用字段校验
- Struts2使用自带校验器应对单类多action方法及符合字段的情况
- Struts2-校验器优先校验配置
- Struts2输入校验(四) の校验框架——字段校验
- 4.2.4: Struts2的输入校验---字段校验器配置风格
- struts2字段校验
- struts2的字段校验类型和struts2实现文件上传
- Struts2输入校验(一)
- struts2数据校验
- Struts2输入校验(三) addActionError的用法
- Struts2的Ajax输入校验
- Spring--实体类Date字段多种格式的校验
- Linq To Object多字段组合唯一校验
- spring boot 字段校验异常设计
- JavaWeb -- Struts2,对比, 简单表单提交,校验,防重复提交, 文件上传
- Struts2的输入校验(1):编写校验规则文件(方法一)
- 主题:Struts2的校验框架,找不到DTD信息
- struts2 校验数据的有效性 2种方式