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

Struts2中的URL Validator检查一个给定的字段中的字符串是否为有效的URL.如果输入的值不是有效的URL,它将产生错误信息.

错误信息由<message> </message>标签提供.下面的例子演示了如何使用URL validator.

按照下面的步骤创建URL 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 -->

    <!-- Url validation -->

    <action name="urlValidation">
      <result>/pages/urlInputForm.jsp</result>
    </action>

    <action name="urlValidation1" class="net.roseindia.urlVaLidationAction">
      <result name="input">/pages/urlInputForm.jsp</result>
      <result name="error">/pages/urlInputForm.jsp</result>
            <result>/pages/urlSuccess.jsp</result>
        </action>

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


    <!-- Add packages here -->

</struts>

创建一个jsp输入表单 :

urlInputForm.jsp

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

<html>

<head>

<title>Url 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="urlValidation1">
   </td>
  </tr>
    <s:textfield label="Enter Url" name="url" />
    <s:submit />
  </s:form>

</body>

</html>

第三步 : 创建一个Action :

urlVaLidationAction.java

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

public class urlVaLidationAction extends ActionSupport {

  private String url;

  public void setUrl(String url){
    this.url = url;
  }
  public String getUrl(){
    return url;
  }
}

第四步 : 按照下面的方法创建一个URL validator

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

URL validator : 该字段验证器检查给定的字段是否包含一个URL.如果输入正确,你将获得urlSuccess.jsp页面.否则将显示xml中指定的信息(: Please enter a valid URL.)

URL validator包含如下参数 :

l        fieldName : 涉及URL validator检查的字段名.如果使用Plain-Validator语法将是必填项.

urlVaLidationAction-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="url">
    <field-validator type="url">
       <message>Please enter a valid url</message>
    </field-validator>
  </field>

</validators>

当输入正确的URL的时候,用户得到urlSuccess.jsp页面并显示输入的URL

urlSuccess.jsp

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

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

<body>
<b>URL =  </b><%=request.getParameter("url") %>!
</body>

</html>

输出 :

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

如果用户输入错误的URL,他将得到 :

同样,如果用户输入这样的错误的URL,他将得到 :

如果用户输入有效的URL :

那么他将获得如下的成功的信息 :

  • 大小: 1 KB
  • 大小: 1.4 KB
  • 大小: 1.4 KB
  • 大小: 1.5 KB
  • 大小: 339 Bytes
评论 共 0 条 请登录后发表评论

发表评论

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

文章信息

Global site tag (gtag.js) - Google Analytics