吳裕雄--天生天然輕量級JAVA EE企業應用開發Struts2Sping4Hibernate整合開發學習筆記:struts2校驗文件的搜索規則(2)

<?xml version="1.0" encoding="GBK"?>
<project name="struts" basedir="." default="">
	<property name="dist" value="classes"/>
	<property name="src" value="src"/>
	
	<path id="classpath">
		<fileset dir="lib">
			<include name="*.jar"/>
		</fileset>
		<pathelement path="${dist}"/>
	</path>

	<target name="compile" description="Compile all source code">
		<delete dir="${dist}"/>
		<mkdir dir="${dist}"/>
		<copy todir="${dist}">
			<fileset dir="${src}">
				<exclude name="**/*.java"/>
			</fileset>		
		</copy>
		<javac destdir="classes" debug="true" includeantruntime="yes"
			deprecation="false" optimize="false" failonerror="true">
			<src path="${src}"/>
			<classpath refid="classpath"/>
		</javac>
	</target>

</project>

  

<?xml version="1.0" encoding="GBK"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
    <!-- 定義Struts 2的核心Filter -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!-- 讓Struts 2的核心Filter攔截全部請求 -->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
<%-- 網站: <a href="http://www.crazyit.org">瘋狂Java聯盟</a> author yeeku.H.lee kongyeeku@163.com version 1.0 Copyright (C), 2001-2016, yeeku.H.Lee This program is protected by copyright laws. Program Name: Date: --%>

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
<title>請輸入您的註冊信息</title>
    <s:head/>

</head>


<body>
<h2>請輸入您的註冊信息</h2>
<s:fielderror/>
<s:form action="regist">
    <s:textfield name="name" label="用戶名"/>
    <s:textfield name="pass" label="密碼"/>
    <s:textfield name="age" label="年齡"/>
    <s:textfield name="birth" label="生日"/>
    <s:submit value="註冊"/>
</s:form>

</body>

</html>
<%-- 網站: <a href="http://www.crazyit.org">瘋狂Java聯盟</a> author yeeku.H.lee kongyeeku@163.com version 1.0 Copyright (C), 2001-2016, yeeku.H.Lee This program is protected by copyright laws. Program Name: Date: --%>

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
<title>校驗成功</title>

</head>


<body>
<h3>校驗成功</h3> 用戶名:<s:property value="name"/><br/> 密碼:<s:property value="pass"/><br/> 年齡:<s:property value="age"/><br/> 生日:<s:property value="birth"/><br/>

</body>

</html>
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.i18n.encoding" value="GBK"/>

    <package name="lee" extends="struts-default">

        <action name="regist" class="org.crazyit.app.action.RegistAction">
            <result name="input">/WEB-INF/content/registForm.jsp</result>
            <result>/WEB-INF/content/show.jsp</result>
        </action>
        <action name="*">
            <result>/WEB-INF/content/{1}.jsp</result>
        </action>
    </package>
</struts>
package org.crazyit.app.action; import com.opensymphony.xwork2.ActionSupport; import java.util.*; /** * Description: * <br/>網站: <a href="http://www.crazyit.org">瘋狂Java聯盟</a> * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee * <br/>This program is protected by copyright laws. * <br/>Program Name: * <br/>Date: * @author Yeeku.H.Lee kongyeeku@163.com * @version 1.0 */
public class RegistAction extends ActionSupport { private String name; private String pass; private int age; private Date birth; // name的setter和getter方法
    public void setName(String name) { this.name = name; } public String getName() { return this.name; } // pass的setter和getter方法
    public void setPass(String pass) { this.pass = pass; } public String getPass() { return this.pass; } // age的setter和getter方法
    public void setAge(int age) { this.age = age; } public int getAge() { return this.age; } // birth的setter和getter方法
    public void setBirth(Date birth) { this.birth = birth; } public Date getBirth() { return this.birth; } public void validate() { System.out.println("進入validate方法進行校驗"
            + name); // 要求用戶名必須包含crazyit子串
        if(!name.contains("crazyit")) { addFieldError("user" , "您的用戶名必須包含crazyit!"); } } }
xwork.default.invalid.fieldvalue={0}字段無效 name.requried=您必須輸入用戶名! name.regex=您輸入的用戶名只能是字母和數組,且長度必須在4到25之間! pass.requried=您必須輸入密碼! pass.regex=您輸入的密碼只能是字母和數組,且長度必須在4到25之間! age.range=您的年齡必須在${min}和${max}之間! birth.range=您的生日必須在${min}和${max}之間!
xwork.default.invalid.fieldvalue={0}\u5b57\u6bb5\u65e0\u6548 name.requried=\u60a8\u5fc5\u987b\u8f93\u5165\u7528\u6237\u540d! name.regex=\u60a8\u8f93\u5165\u7684\u7528\u6237\u540d\u53ea\u80fd\u662f\u5b57\u6bcd\u548c\u6570\u7ec4\uff0c\u4e14\u957f\u5ea6\u5fc5\u987b\u57284\u523025\u4e4b\u95f4! pass.requried=\u60a8\u5fc5\u987b\u8f93\u5165\u5bc6\u7801! pass.regex=\u60a8\u8f93\u5165\u7684\u5bc6\u7801\u53ea\u80fd\u662f\u5b57\u6bcd\u548c\u6570\u7ec4\uff0c\u4e14\u957f\u5ea6\u5fc5\u987b\u57284\u523025\u4e4b\u95f4! age.range=\u60a8\u7684\u5e74\u9f84\u5fc5\u987b\u5728${min}\u548c${max}\u4e4b\u95f4! birth.range=\u60a8\u7684\u751f\u65e5\u5fc5\u987b\u5728${min}\u548c${max}\u4e4b\u95f4!
<?xml version="1.0" encoding="GBK"?>
<!-- 指定校驗配置文件的DTD信息 -->
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<!-- 校驗文件的根元素 -->
<validators>
    <!-- 校驗Action的name屬性 -->
    <field name="name">
        <!-- 指定name屬性必須知足必填規則 -->
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message key="name.requried"/>
        </field-validator>
        <!-- 指定name屬性必須匹配正則表達式 -->
        <field-validator type="regex">
            <param name="regex"><![CDATA[(\w{4,25})]]></param>
            <message key="name.regex"/>
        </field-validator>
    </field>
    <!-- 校驗Action的pass屬性 -->
    <field name="pass">
        <!-- 指定pass屬性必須知足必填規則 -->
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message key="pass.requried"/>
        </field-validator>
        <!-- 指定pass屬性必須知足匹配指定的正則表達式 -->
        <field-validator type="regex">
            <param name="regex"><![CDATA[(\w{4,25})]]></param>
            <message key="pass.regex"/>
        </field-validator>
    </field>
    <!-- 指定age屬性必須在指定範圍內-->
    <field name="age">
        <field-validator type="int">
            <param name="min">1</param>
            <param name="max">150</param>
            <message key="age.range"/>
        </field-validator>
    </field>
    <!-- 指定birth屬性必須在指定範圍內-->
    <field name="birth">
        <field-validator type="date">
            <!-- 下面指定日期字符串時,必須使用本Locale的日期格式 -->
            <param name="min">1900-01-01</param>
            <param name="max">2050-02-21</param>
            <message key="birth.range"/>
        </field-validator>
    </field>
</validators>
相關文章
相關標籤/搜索