Ajax提交Struts2表单(服务器端validation校验出错提示)


1.目标

在基于Struts2的应用中,利用AJAX方式提交表单实现一个登陆验证Action,将服务器端验证结果展现在页面上

字段错误展示:

action 错误提示

2.技术实现

   利用struts2-jquery插件和struts2-json插件实现
3.实现步骤

   3.1依赖jar包

  除了struts2-core-2.2.3.jar包以外,还要下载两个jar包

  struts2-jquery-plugin-3.1.0.jar

  struts2-json-plugin-2.2.3.jar

  3.2编写登陆处理类Action

    这个Action和我们普通的Action没有任何区别

[java]

  1. package com.crazycoder2010.struts2;  
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;  
  4.   
  5. public class LoginAction extends ActionSupport {  
  6.     private static final long serialVersionUID = 6627313805146336838L;  
  7.     private String name;  
  8.     private String password;  
  9.     public String getName() {  
  10.         return name;  
  11.     }  
  12.     public void setName(String name) {  
  13.         this.name = name;  
  14.     }  
  15.     public String getPassword() {  
  16.         return password;  
  17.     }  
  18.     public void setPassword(String password) {  
  19.         this.password = password;  
  20.     }  
  21.     @Override  
  22.     public String execute() throws Exception {  
  23.         if(!("Kevin".equals(this.name)&&"111111".equals(this.password))){  
  24.             this.addActionError("Wrong!");  
  25.         }  
  26.         return INPUT;  
  27.     }  
  28. }  
   3.3为登陆程序添加验证文件LoginAction-Validation.xml(和LoginAction放置在同一个目录下)

[html]

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">  
  3. <validators>  
  4.     <field name="name">  
  5.         <field-validator type="requiredstring">  
  6.             <param name="trim">true</param>  
  7.             <message>Name is required.</message>  
  8.         </field-validator>  
  9.         <field-validator type="stringlength">  
  10.             <param name="minLength">2</param>  
  11.             <param name="maxLength">60</param>  
  12.             <message>Name must be between ${minLength} and ${maxLength} characters long.</message>  
  13.         </field-validator>  
  14.     </field>  
  15.     <field name="password">  
  16.         <field-validator type="requiredstring">  
  17.             <param name="trim">true</param>  
  18.             <message>Password is required.</message>  
  19.         </field-validator>  
  20.         <field-validator type="stringlength">  
  21.             <param name="minLength">2</param>  
  22.             <param name="maxLength">60</param>  
  23.             <message>Password must be between ${minLength} and ${maxLength} characters long.</message>  
  24.         </field-validator>  
  25.     </field>  
  26. </validators>  
  • 1
  • 2
  • 下一页

相关内容