Struts2實現空表單資訊的提示
阿新 • • 發佈:2018-12-26
需要的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>
當提交的是空表單時執行的結果為:
當兩次提交的密碼不一致時,執行的結果為: