10.2 验证框架入门
10.2.1准备基础资源
通过示例来初步学习一下如何使用Struts2的验证框架,只简单的做这样一个用户注册的功能:用户注册的时候只需要填写自己的账号、姓名、年龄,其中,账号和姓名要求必填,年龄要求必填而且在18岁以上。
1:封装用户注册信息的域对象
ta�Ktr�-�8%�t;text-justify-trim:punctuation'>
10.2.1准备基础资源
java代码:
- public class UserModel {
- private String account;
- private String name;
- private int age;
- public String getAccount() {
- return account;
- }
- public void setAccount(String account) {
- this.account = account;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String toString(){
- return "account="+account+",name="+name+",age="+age;
- }
- }
2:用户的注册页面
在这个页面上,使用<s:form>表单标签来提交信息,不指定其风格,默认使用xhtml。这个jsp为WebContent/validate/register.jsp,示例如下:
java代码:
- <%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%>
- <%@taglib prefix="s" uri="/struts-tags" %>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <title>Insert title here</title>
- </head>
- <body>
- 用户注册
- <hr>
- <s:form action="/registerAction.action" method="post">
- <s:textfield name="user.account" label="账号"/>
- <s:textfield name="user.name" label="姓名"/>
- <s:textfield name="user.age" label="年龄"/>
- <s:submit value="注册"/>
- </s:form>
- </body>
- </html>
3:注册用的Action
只是简单实现:接到注册页面传入的数据,并在execute方法中将它打印出来,示例如下:
java代码:
- public class RegisterAction extends ActionSupport{
- public UserModel user = new UserModel();
- public String execute() throws Exception {
- System.out.println("传入的数据为="+user);
- return SUCCESS;
- }
- }
4:注册成功后的结果页面
这个页面非常简单,就是简单的显示注册成功的信息,示例如下:
java代码:
- <%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%>
- <%@taglib prefix="s" uri="/struts-tags" %>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <title>Insert title here</title>
- </head>
- <body>
- 恭喜您注册成功!
- </body>
- </html>
5:在struts.xml中添加配置
java代码:
- <package name="helloworld" extends="struts-default">
- <action name="registerAction" class="cn.javass.validate.RegisterAction">
- <result>/validate/success.jsp</result>
- </action>
- </package>
所有的工作都准备完了,来运行测试一下,先访问注册页面,然后填入合适的数据,点击注册看看是否能正确提交,并跳转到成功页面。应该是没有问题的,那么,接下来就在这个示例的基础上,来使用验证框架。
10.2.2初会验证框架
在上一节的例子中,并没有使用验证框架。这时候,用户的任何输入都会被RegistAction所接收。
现在来加入验证框架,非常简单,只需要添加一个xml,这个xml命名为Action类名-validation.xml,放在需要验证的Action类同包下,其内容为这个Action的execute方法运行前要对用户的输入进行的各种验证。
很显然,需要在RegisterAction同包下,新建一个RegisterAction-validation.xml的文件,示例内容如下:
java代码:
margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 1px !important; margin-left: 45px !important; backgr
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。