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 楼 a330978443 2011-04-20 16:25