Struts 2双重验证示例

  1. 双重验证者
  2. 双重验证器的参数
  3. 双重验证器的示例
双重验证器检查给定的浮点数是否在指定范围内。可用于产品价格等
双重验证器的参数为双重验证器定义了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"/>

下载此示例

    推荐阅读