Struts2验证框架实例

  今天写了个Struts验证框架的实例,总算把验证框架弄清楚了。

  上一篇Struts实例的action没有继承ActionSupport类,虽然也可以实现action的功能,但是却不能应用Struts提供的其他

功能。

1、应用验证框架时action必须extends ActionSupport类。

public class LoginAction extends ActionSupport{ // 继承ActionSupport类

    private static final long serialVersionUID = 1L;
    //User user=new User();
    User user;  // JavaBean 不需要实例化,自动赋值
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String execute(){
        if("111".equals(user.getUsername())){
            return "success";
        }
        return "input";
    }

}

 2、可以override validate()方法,也可以用xml配置文件。

在这里应用xml配置文件进行验证。配置文件必须和验证的action放在同一包目录下。

 

3、LoginAction-validation.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!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="user.username">  
        <field-validator type="requiredstring">  
            <message>请输入姓名</message>  
        </field-validator>  
    </field>  
      
    <field name="user.password">  
        <field-validator type="requiredstring">  
             <message>请输入密码</message>  
        </field-validator>  
    </field>  
</validators>  

4、jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@ taglib prefix="s" uri="/struts-tags" %>   <!--引入Struts标签  --> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 <s:form action="LoginAction" method="post">  
     <s:textfield name="user.username" label="用户名" />
     <s:textfield name="user.password" label="密码" />
     <s:submit value="提交"/>  
   </s:form>  
</body>
</html>

 运行结果

posted @ 2015-04-15 13:31  heyesp  阅读(359)  评论(0编辑  收藏  举报