1. 程式人生 > >Struts2實現空表單資訊的提示

Struts2實現空表單資訊的提示

需要的jar包檔案:


index.jsp原始碼:

<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>請輸入您的註冊資訊</title>
</head>
<body>
<H1>請輸入您的註冊資訊</H1> 
<s:form action="regist">
	<s:textfield label="使用者名稱"  name="userName"/>
	<s:password label="密碼" name="password"/>
	<s:password label="請再輸入一次" name="rePassword"/>
	<s:submit value="註冊"></s:submit>
</s:form> 
</body>
</html> 
  

welcome.jsp原始碼:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>
    <base href="<%=basePath%>">
    <title>My JSP 'welcome.jsp' starting page</title>
  </head>
  <body>
           恭喜您,註冊成功! 
  </body>
</html>

web.xml原始碼:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping></web-app>

struts.xml原始碼:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="lee" extends="struts-default">
        <action name="regist" class="tom.jiafei.ZhuceAction">
            <result name="success">/welcome.jsp</result>
            <result name="input">/index.jsp</result>
        </action>
    </package>
</struts> 

ZhuceAction.java原始碼:
package tom.jiafei;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class ZhuceAction extends ActionSupport
{
	private String userName;
	private String password;
	private String rePassword;
	
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getRePassword() {
		return rePassword;
	}

	public void setRePassword(String rePassword) {
		this.rePassword = rePassword;
	}

	public String execute() throws Exception {
	return SUCCESS;
	}
	
	}

ZhuceAction-validation.xml原始碼:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
	"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
   	<field name="userName">
	   <field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>使用者名稱不能為空</message>
		</field-validator>
	</field>
	<field name="password">
	   <field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>密碼不能為空</message>
		</field-validator>
	</field>
	<field name="rePassword">
	    <field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>確認密碼不能為空</message>
		</field-validator>
		<field-validator type="fieldexpression">
			<param name="expression"><![CDATA[(password==rePassword)]]></param>
			<message>兩次輸入密碼不一致</message>
		</field-validator>
	</field>
</validators>

當提交的是空表單時執行的結果為:


當兩次提交的密碼不一致時,執行的結果為: