原创作者: 饕尽天下   阅读:4313次   评论:1条   更新时间:2011-06-01    

Struts2

中的email validator检查一个指定的String字段是否为空且是否包含一个有效的Email地址.如果输入的值不匹配email类型,那么e-mail validator将生成错误信息.

错误信息是由<message> </message>标签提供的.下面的例子演示了如何使用email validator来检查输入值.

按照下面的步骤来创建email validator的例子 :

第一步 : 创建struts.xml文件,并向其中添加下面的xml片段

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <!-- Rose India Struts 2 Tutorials -->
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="roseindia" namespace="/roseindia" extends="struts-default">
    
    <!-- Add actions here -->

    <!-- Email validation -->

    <action name="emailValidation">
      <result>/pages/emailInputForm.jsp</result>
    </action>

    <action name="emailValidation1" class="net.roseindia.EmailVaLidationAction">
      <result name="input">/pages/emailInputForm.jsp</result>
      <result name="error">/pages/emailInputForm.jsp</result>
      <result>/pages/emailSuccess.jsp</result>
   </action>

         <!-- Add actions here -->
    </package>


    <!-- Add packages here -->

</struts>

 

第二步 : 创建jsp输入表单,如下 :

emailInputForm.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Email input form</title>
 <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
          type="text/css"/>
      <s:head/>
</head>

<body>
  
  <s:form method="POST" action="emailValidation1">
   </td>
  </tr>
    <s:textfield label="Enter Email Address" name="myEmail" />
    <s:submit />
  </s:form>

</body>

</html>

 

 

第三步 : 创建Action :

EmailVaLidationAction.java

package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;

public class EmailVaLidationAction extends ActionSupport {

  private String myEmail;

  public void setMyEmail(String myEmail){
    this.myEmail = myEmail;
  }
  public String getMyEmail(){
    return myEmail;
  }
} 

 

第四步 : 这样创建一个e-mail validator :

验证文件的格式是<ActionClassName>-validation.xml<ActionClassName>-<ActionAliasName>-validation.xml.

e-mail validator :

该字段验证器检查一个给定的字段是否为空且是否包含一个有效的email地址.如果它包含一个有效的email类型,那么用户将跳转到emailSuccess.jsp页面.否则将显示xml文件中指定的信息(这里是: Please enter a valid email)

email validator拥有如下参数 :

l        fieldName : 这是验证器所要验证的字段名.只有用户使用Plain-Validator语法的时候是必填项

EmailVaLidationAction-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="myEmail">
    <field-validator type="email">
       <message>Please enter a valid email</message>
    </field-validator>
  </field>

</validators> 

 

当输入有效的email地址的时候用户会获得emailSuccess.jsp页面

emailSuccess.jsp

<%@page language="java" %>
<html>

<head>
  <title>Correct entry</title>
</head>

<body>
<b>Welcome to </b><%=request.getParameter("myEmail") %>!
</body>

</html>

 

 

输出 :

当该程序执行时,用户得到如下 :

如果你输入错误的email地址那么你将得到如下信息 :

同样,如果你输入这样的email地址那么你会得到 :

如果输入这样的email地址,你会得到 :

那么你得到 :

  • 大小: 1.2 KB
  • 大小: 1.6 KB
  • 大小: 1.7 KB
  • 大小: 1.8 KB
  • 大小: 494 Bytes
评论 共 1 条 请登录后发表评论
1 楼 a330978443 2011-04-20 16:25
  

发表评论

您还没有登录,请您登录后再发表评论

文章信息

Global site tag (gtag.js) - Google Analytics