个性化阅读
专注于IT技术分析

Struts 2正则表达式验证示例

  1. 正则表达式验证器
  2. 正则表达式验证器的参数
  3. 正则表达式验证器的示例

正则表达式验证器使用指定的正则表达式验证给定的字符串。可用于密码, 安全密钥等。

正则表达式验证器的参数

为正则表达式验证器定义了4个参数。

Parameter Description
fieldName 指定要验证的字段名称。仅在Plain-Validator中需要。
expression 指定正则表达式。
caseSensitive 指定是否以区分大小写的方式匹配表达式。默认情况下为true。
trim 指定在匹配之前是否应修整该值。默认情况下为true。

正则表达式验证器的示例

<validators>
 <!-- Plain Validator Syntax -->
          <validator type="regex">
              <param name="fieldName">data</param>
              <param name="expression">[A-Z, a-z, 0-9]{5}</param>
  	      <message>data must be alpha numeric of 5 digits</message>
          </validator>
          
</validators>
<validators>
    <!-- Field Validator Syntax -->
         <field name="data">
  		<field-validator type="regex">
  		  <param name="expression">[A-Z, a-z, 0-9]{5}</param>
  		  <message>data must be alpha numeric of 5 digits</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>
<marquee>validation...........</marquee>
<s:form action="register">
<s:textfield name="data" label="Data"></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 String data;

public String getData() {
	return data;
}

public void setData(String data) {
	this.data = data;
}

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="data">
  		<field-validator type="regex">
  		<param name="expression">[A-Z, a-z, 0-9]{5}</param>
  		<message>data must be alpha numeric of 5 digits</message>
  		</field-validator>
  		</field>
  		
  		-->
  		<field name="data">
  		<field-validator type="regex">
  		<param name="expression">[A, a][A-Z, a-z, 0-9]{5}</param>
  		<message>data must be alpha numeric of 6 digits and starts with a or A</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" %>

Data is, <s:property value="data"/>

下载此示例

赞(0)
未经允许不得转载:srcmini » Struts 2正则表达式验证示例

评论 抢沙发

评论前必须登录!