求一个小型的struts2 项目实例,仅供学习练习使用。

如题所述

第1个回答  2011-03-15
Struts2验证框架验证用户注册
核心代码如下:
1.用户注册页面register.jsp
Java代码
1. <form action="register.action" method="post">
2. <I><font face="楷体_GB2312" color="#FF0000"><s:fielderror />
3. </font>
4. </I>
5. <!-- 读取显示提示信息 -->
6. <table>
7. <tr>
8. <td>
9. 用户名:
10. </td>
11. <td>
12. <input type="text" name="user.userName">
13. </td>
14. </tr>
15. <tr>
16. <td>
17. 密码:
18. </td>
19. <td>
20. <input type="password" name="user.password">
21. </td>
22. </tr>
23. <tr>
24. <td>
25. 确认密码:
26. </td>
27. <td>
28. <input type="password" name="user.rePassword">
29. </td>
30. </tr>
31.
32. <tr>
33. <td>
34. 年龄:
35. </td>
36. <td>
37. <input type="text" name="user.age">
38. </td>
39. </tr>
40. <tr>
41. <td>
42. 生日:
43. </td>
44. <td>
45. <input type="text" name="user.birthday">
46. </td>
47. </tr>
48. <tr>
49. <td colspan="2">
50. <s:submit value="注册"></s:submit>
51. </td>
52. </tr>
53. </table>
54. </form>

2.注册成功欢迎页面welcome.jsp
Java代码
1. congratulations!${user.userName} <br>

3.注册处理action RegisterAction
Java代码
1. package org.kingtoon.action;
2. import javax.servlet.http.HttpServletRequest;
3. import org.apache.struts2.ServletActionContext;
4. import org.kingtoon.bean.User;
5. import com.opensymphony.xwork2.ActionSupport;
6. public class RegisterAction extends ActionSupport {
7.
8.
9. private User user;
10. @Override
11. public String execute() throws Exception {
12. if(!(user.getPassword().equals(user.getRePassword()))){
13. this.addFieldError("password", "请输入相同的密码");
14. return "input";
15. }
16. else
17. {
18. HttpServletRequest request = ServletActionContext.getRequest ();
19. request.setAttribute("user", user);
20. return SUCCESS;
21. }
22.
23. }
24. public User getUser() {
25. return user;
26. }
27. public void setUser(User user) {
28. this.user = user;
29. }
30. }

4. 用户Bean User.java
Java代码
1. package org.kingtoon.bean;
2. import java.util.Date;
3. public class User {
4. private String userName;
5. private String password;
6. private String rePassword;
7. private Integer age;
8. private Date birthday;
9. public Integer getAge() {
10. return age;
11. }
12. public void setAge(Integer age) {
13. this.age = age;
14. }
15. public Date getBirthday() {
16. return birthday;
17. }
18. public void setBirthday(Date birthday) {
19. this.birthday = birthday;
20. }
21. public String getPassword() {
22. return password;
23. }
24. public void setPassword(String password) {
25. this.password = password;
26. }
27. public String getRePassword() {
28. return rePassword;
29. }
30. public void setRePassword(String rePassword) {
31. this.rePassword = rePassword;
32. }
33. public String getUserName() {
34. return userName;
35. }
36. public void setUserName(String userName) {
37. this.userName = userName;
38. }
39.
40. }

5.配置验证文件RegisterAction-validation.xml
Java代码
1. <validators>
2. <field name="user.userName">
3. <!-- 验证字符串不能为空 -->
4. <field-validator type="requiredstring">
5. <!-- 去空格 -->
6. <param name="trim">true</param>
7. <!-- 错误提示信息 -->
8. <message>用户名不能为空</message>
9. </field-validator>
10.
11. <!-- 验证字符串长度 -->
12. <field-validator type="stringlength">
13. <param name="minLength">2</param>
14. <param name="maxLength">20</param>
15. <message>用户名长度应在2到18个字符间</message>
16. </field-validator>
17. </field>
18.
19. <field name="user.password">
20. <field-validator type="requiredstring">
21. <param name="trim">true</param>
22. <message>密码不能为空</message>
23. </field-validator>
24.
25. <field-validator type="stringlength">
26. <param name="minLength">6</param>
27. <param name="maxLength">18</param>
28. <message>密码长度应在6到18个字符之间</message>
29. </field-validator>
30. </field>
31.
32. <field name="user.age">
33. <field-validator type="int">
34. <param name="min">1</param>
35. <param name="max">150</param>
36. <message>年龄应在1到150之间</message>
37. </field-validator>
38. </field>
39. <!-- 验证字符串为日期类型 -->
40. <field name="user.birthday">
41. <field-validator type="date">
42. <param name="min">1900-01-01</param>
43. <param name="max">2008-10-16</param>
44. <message>出生日期应在1900-01-01到2008-10-16</message>
45. </field-validator>
46. </field>
47. </validators>

6.struts2框架默认加载的配置文件struts.xml
Java代码
1. <struts>
2. <constant name="struts.custom.i18n.resources" value="messageResource"></constant>
3.
4. <package name="user" extends="struts-default">
5. <action name="register" class="org.kingtoon.action.RegisterAction">
6. <result name="success">/welcome.jsp</result>
7. <result name="input">/register.jsp</result>
8. </action>
9. </package>
10. </struts>

7.web服务器启动时加载Struts 配置文件 web.xml
Java代码
1. <web-app version="2.4" xmlns=""
2. xmlns:xsi=""
3. xsi:schemaLocation="
4. /web-app_2_4.xsd">
5. <filter>
6. <filter-name>struts-cleanup</filter-name>
7. <filter-class>
8. org.apache.struts2.dispatcher.ActionContextCleanUp
9. </filter-class>
10. </filter>
11. <filter>
12. <filter-name>struts2</filter-name>
13. <filter-class>
14. org.apache.struts2.dispatcher.FilterDispatcher
15. </filter-class>
16. </filter>
17. <filter-mapping>
18. <filter-name>struts-cleanup</filter-name>
19. <url-pattern>/*</url-pattern>
20. </filter-mapping>
21. <filter-mapping>
22. <filter-name>struts2</filter-name>
23. <url-pattern>/*</url-pattern>
24. </filter-mapping>
25.
26. <welcome-file-list>
27. <welcome-file>register.jsp</welcome-file>
28. </welcome-file-list>
29. </web-app>

至此,完毕.不过需要注意:
1.配置验证xml文档的名字有讲究:格式为:Action名字(类)-validation.xml,与类在同一包中;
2.验证文档里的<field-validator type="">中的type类型要和VO中的User属性类型一致,否则会报类型转换错误本回答被提问者采纳
第2个回答  2011-03-15
员工上下班打卡系统

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网