- Struts 2 AJAX验证
- jsonValidation拦截器
- Struts 2 Ajax验证示例
要使用AJAX验证, 你需要在项目中添加dojo插件。jsonValidation拦截器
AJAX验证由jsonValidation拦截器执行。在默认堆栈中找不到它, 因此我们需要显式定义它。它本身不执行任何验证, 这就是为什么必须将其与验证拦截器一起使用的原因。它可以在jsonValidationWorkflowStack中找到, 其中包括jsonValidation, 验证和工作流拦截器以及basicstack。
执行AJAX验证的步骤
执行AJAX验证的简单步骤如下:
- 创建表单以获取用户输入
- 在操作中继承ActionSupport类
- 在validation.xml文件中定义验证
- 定义错误消息的结果名称输入, 并在struts.xml文件中注册jsonValidationWorkflowStack
在此示例中, 我们将创建4个页面:
- index.jsp以供用户输入。
- Register.java用于业务逻辑。
- Register-validation.xml, 用于使用捆绑的验证器。
- struts.xml, 用于定义操作的拦截器和结果。
- view组件的welcome.jsp。
该jsp页面使用struts UI标记创建表单。它从用户那里接收名称, 密码和电子邮件ID。
index.jsp
<
%@ tagliburi="/struts-tags" prefix="s"%>
<
%@ taglib uri="/struts-dojo-tags" prefix="d"%>
<
html>
<
head>
<
d:head/>
<
/head>
<
body>
<
marquee>
Registration Form.............<
/marquee>
<
s:form action="register">
<
s:textfield name="name" label="Username">
<
/s:textfield>
<
s:textfield name="email" label="Email ID">
<
/s:textfield>
<
s:password name="password" label="Password">
<
/s:password>
<
d:submit validate="true" type="image" src="http://www.srcmini.com/register-now.jpg">
<
/d:submit>
<
/s:form>
<
/body>
<
/html>
2)创建动作类
该操作类继承了ActionSupport类, 并覆盖了execute方法。
RegisterAction.java
package mypack;
import com.opensymphony.xwork2.ActionSupport;
public class Register extends ActionSupport{
private String name, password, email;
//setters and getterspublic String execute(){
return "success";
}
}
3)创建验证文件
在这里, 我们使用捆绑的验证器来执行验证。
Register-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="name">
<
field-validator type="requiredstring">
<
message>
Name can't be blank<
/message>
<
/field-validator>
<
/field>
<
field name="email">
<
field-validator type="requiredstring">
<
message>
Email ID can't be blank<
/message>
<
/field-validator>
<
field-validator type="email">
<
message>
Please enter a valid email ID<
/message>
<
/field-validator>
<
/field>
<
field name="password">
<
field-validator type="requiredstring">
<
message>
Password can't be blank<
/message>
<
/field-validator>
<
field-validator type="stringlength">
<
param name="minLength">
5<
/param>
<
param name="maxLength">
10<
/param>
<
message>
Password can't be less than 5 or greater than 10<
/message>
<
/field-validator>
<
/field>
<
/validators>
4)创建struts.xml
该xml文件通过名称输入和拦截器jsonValidatorWorkflowStack定义了一个额外的结果。
struts.xml
<
?xml version="1.0" encoding="UTF-8" ?>
<
!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<
struts>
<
package name="a" extends="struts-default">
<
action name="register" class="mypack.Register">
<
interceptor-ref name="jsonValidationWorkflowStack">
<
/interceptor-ref>
<
result name="success">
/welcome.jsp<
/result>
<
result name="input">
/index.jsp<
/result>
<
/action>
<
/package>
<
/struts>
5)创建视图组件
它是显示用户信息的简单jsp文件。
welcome.jsp
<
%@ taglib uri="/struts-tags" prefix="s" %>
Welcome, <
s:property value="http://www.srcmini.com/name"/>
下载此示例
推荐阅读
- Struts 2 Aware接口教程介绍
- Struts 2双重验证示例
- Struts 2 URL验证示例
- Mybatis学习---MyBatis知识原始Dao开发和mapper代理开发
- Android 读写权限,已经授权情况下,仍然(Permission denied)
- MyBatis学习4---使用MyBatis_Generator生成DtoDaoMapping
- 信息爆炸的年代里,如何简化并找准真正合适的 App()
- 菜鸟级appium 必看
- SpringData ( xxx_xxx is not mapped)