- 双重验证者
- 双重验证器的参数
- 双重验证器的示例
双重验证器检查给定的浮点数是否在指定范围内。可用于产品价格等
双重验证器的参数
为双重验证器定义了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="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)创建视图组件
它是显示用户信息的简单jsp文件。
welcome.jsp
<%@ taglib uri="/struts-tags" prefix="s" %>
Product Id:<s:property value="id"/><br/>
Product price:<s:property value="price"/>
下载此示例
评论前必须登录!
注册