- 双重验证者
- 双重验证器的参数
- 双重验证器的示例
双重验证器的参数为双重验证器定义了5个参数。
Parameter | Description |
---|---|
fieldName | 指定要验证的字段名称。仅在Plain-Validator中需要。 |
minInclusive | 指定最小包含值。默认情况下将其忽略。 |
maxInclusive | 指定最大包含值。默认情况下将其忽略。 |
minExclusive | 指定最小排他值。默认情况下将其忽略。 |
maxExclusive | 指定最大排他值。默认情况下将其忽略。 |
<
validators>
<
!-- Plain Validator Syntax -->
<
validator type="double">
<
param name="fieldName">
price<
/param>
<
param name="minInclusive">
100.0<
/param>
<
param name="maxInclusive">
10000.0<
/param>
<
message>
Price must be between ${minInclusive} and ${maxInclusive}<
/message>
<
/validator>
<
/validators>
<
validators>
<
!-- Field Validator Syntax -->
<
field name="price">
<
field-validator type="double">
<
param name="minInclusive">
100.0<
/param>
<
param name="maxInclusive">
10000.0<
/param>
<
message>
Price must be between ${minInclusive} and ${maxInclusive}<
/message>
<
/field-validator>
<
/field>
<
/validators>
双重验证器的完整示例1)创建index.jsp作为输入
该jsp页面使用struts UI标记创建表单。它从用户那里接收名称, 密码和电子邮件ID。
index.jsp
<
%@ taglib uri="/struts-tags" prefix="s" %>
<
html>
<
head>
<
STYLE type="text/css">
.errorMessage{color:red;
}
<
/STYLE>
<
/head>
<
body>
<
s:form action="register">
<
s:textfield name="id" label="Product Id">
<
/s:textfield>
<
s:textfield name="price" label="Product Price">
<
/s:textfield>
<
s:submit value="http://www.srcmini.com/register">
<
/s:submit>
<
/s:form>
<
/body>
<
/html>
2)创建动作类
该操作类继承了ActionSupport类, 并覆盖了execute方法。
RegisterAction.java
package com.srcmini;
import com.opensymphony.xwork2.ActionSupport;
public class Register extends ActionSupport{
private int id;
private double price;
public int getId() {
return id;
}public void setId(int id) {
this.id = id;
}public double getPrice() {
return price;
}public void setPrice(double price) {
this.price = price;
}public 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="price">
<
field-validator type="double">
<
param name="minInclusive">
100.0<
/param>
<
param name="maxExclusive">
9999.9<
/param>
<
message>
Price must be between ${minInclusive} to ${maxExclusive}<
/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="default" extends="struts-default">
<
action name="register" class="com.srcmini.Register">
<
result name="input">
index.jsp<
/result>
<
result>
welcome.jsp<
/result>
<
/action>
<
/package>
<
/struts>
5)创建视图组件
【Struts 2双重验证示例】它是显示用户信息的简单jsp文件。
welcome.jsp
<
%@ taglib uri="/struts-tags" prefix="s" %>
Product Id:<
s:property value="http://www.srcmini.com/id"/>
<
br/>
Product price:<
s:property value="http://www.srcmini.com/price"/>
下载此示例
推荐阅读
- Struts 2 Ajax验证-jsonValidation拦截器
- Struts 2 URL验证示例
- Mybatis学习---MyBatis知识原始Dao开发和mapper代理开发
- Android 读写权限,已经授权情况下,仍然(Permission denied)
- MyBatis学习4---使用MyBatis_Generator生成DtoDaoMapping
- 信息爆炸的年代里,如何简化并找准真正合适的 App()
- 菜鸟级appium 必看
- SpringData ( xxx_xxx is not mapped)
- android在主线程下载文件