一個簡單的strutseb2服務器端驗證,竟然花了一個多小時才完成。。。。找了半天原來是一個方法名寫錯了。。筆誤。。
把getUsername().寫成了getUserame(),然后一直取不出username的值。。。。
1.注冊頁面(register.jsp)
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>

<title>請輸入您的注冊信息</title>

</head>


<body>
<H1>請輸入您的注冊信息</H1>
<s:fielderror/>
<FORM METHOD="POST" ACTION="regist.action">
用戶名:<INPUT TYPE="text" NAME="username"><br>
密 碼:<INPUT TYPE="text" NAME="pass"><br>
年 齡:<INPUT TYPE="text" NAME="age"><br>
生 日:<INPUT TYPE="text" NAME="birthday"><p>
<INPUT TYPE="submit" value="注冊">
</FORM>


</body>

</html>
(2)Action類(RegisterAction.java)
package my;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
public class RegisterAction extends ActionSupport
{
private String username;
private String pass;
private int age;
private Date birthday;
public void setUsername(String username)
{
this.username = username;
}
public String getUsername()
{
return this.username;
}

public void setPass(String pass)
{
this.pass = pass;
}
public String getPass()
{
return this.pass;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return this.age;
}
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public Date getBirthday()
{
return this.birthday;
}
public String execute()throws Exception
{
return SUCCESS;
}
}
(3)驗證文件.RegisterAction-validator.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>please input your username</message>
</field-validator>
</field>

<field name="pass">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>please input your password</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">100</param>
<message>age must between 1 and 100</message>
</field-validator>
</field>
<field name="birthday">
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2050-01-01</param>
<message>birtday is error</message>
</field-validator>
</field>
</validators>
(4)struts2配置文件(struts.xml)
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="my" extends="struts-default">
<action name="regist" class="my.RegisterAction">
<result name="success">/show.jsp</result>
<result name="input">/register.jsp</result>
</action>
</package>
</struts>
success頁面(show.jsp)
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>

<title>校驗成功</title>

</head>


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

</body>

</html>
OK...
把getUsername().寫成了getUserame(),然后一直取不出username的值。。。。
1.注冊頁面(register.jsp)












































































































(4)struts2配置文件(struts.xml)




































OK...