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

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>
<?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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: