`
andylue2008
  • 浏览: 34921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2利用配置文件进行输入校验方法

阅读更多

 

     Struts中利用配置文件进行输入校验,其实是挺简单的,只是时间长了有些基本语法容易淡忘。今天特意抽点时间来把这点东西写写(常用的验证),可以说也算是对这块知识的进一步的巩固吧!如果 以后在用到这块知识也可以翻出来看看。

 

1、对生日的验证:

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>date Validator Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
	color:red;
}
</style>
</head>
<body>
<div id="global" style="width:350px">
	<h3>Enter your birthdate</h3>
	<s:form action="Date2">
    	<s:textfield name="birthDate" label="Birth Date"/>
    	<s:submit/>
	</s:form>
</div>
</body>
</html>

 

 

package com.erong.struts.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;

public class DateTestAction extends ActionSupport {
    private Date birthDate;
    public Date getBirthDate() {
        return birthDate;
    }
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }
}

 

 

<!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="birthDate">
        <field-validator type="date">
            <param name="max">1/1/2000</param>
            <message>
                You must have been born before the year 2000 to register
            </message>
        </field-validator>
    </field>
</validators>
 

 

2、Email地址的输入验证

 

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>email Validator Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
	color:red;
}
</style>
</head>
<body>
<div id="global" style="width:350px">
	<h3>Enter your email</h3>
	<s:form action="Email2">
    	<s:textfield name="email" label="Email"/>
    	<s:submit/>
	</s:form>
</div>
</body>
</html>
 
package com.erong.struts.action;

import com.opensymphony.xwork2.ActionSupport;

public class EmailTestAction extends ActionSupport {
    private String email;
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
}

 

 

<!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="email">
        <field-validator type="email">
            <message>Invalid email</message>
        </field-validator>
    </field>
</validators>
 

 

 

3、表达式的输入验证

 

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>expression Validator Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
	color:red;
}
</style>
</head>
<body>
<div id="global" style="width:400px">
    <s:actionerror/>
	<h3>Enter the minimum and maximum temperatures</h3>
	<s:form action="Expression2">
    	<s:textfield name="min" label="Minimum temperature"/>
    	<s:textfield name="max" label="Maximum temperature"/>
    	<s:submit/>
	</s:form>
</div>
</body>
</html>

 

 

 

package com.erong.struts.action;

import com.opensymphony.xwork2.ActionSupport;

public class ExpressionTestAction extends ActionSupport {
    private int min;
    private int max;
    public int getMax() {
        return max;
    }
    public void setMax(int max) {
        this.max = max;
    }
    public int getMin() {
        return min;
    }
    public void setMin(int min) {
        this.min = min;
    }
}

 

 

 

<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
    <validator type="expression">
        <param name="expression">
            max > min
        </param>
        <message>
            Maximum temperature must be greater than Minimum temperature
        </message>
    </validator>
</validators>
 

 

 

 

4、整形数据的输入验证:

 

 

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>int Validator Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
	color:red;
}
</style>
</head>
<body>
<div id="global" style="width:350px">
	<h3>Enter a year</h3>
	<s:form action="Int2">
    	<s:textfield name="year" label="Year (1990-2009)"/>
    	<s:submit/>
	</s:form>
</div>
</body>
</html>

 

package com.erong.struts.action;
import com.opensymphony.xwork2.ActionSupport;

public class IntTestAction extends ActionSupport {
    private int year;
    public int getYear() {
        return year;
    }
    public void setYear(int year) {
        this.year = year;
    }
}

 

<!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="year">
        <field-validator type="int">
            <param name="min">1990</param>
            <param name="max">2009</param>
            <message>Year must be between 1990 and 2009</message>
        </field-validator>
    </field>
</validators>
 

 

 

5、URL地址的输入验证:

 

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>url Validator Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
	color:red;
}
</style>
</head>
<body>
<div id="global" style="width:350px">
	<h3>What is your website?</h3>
	<s:form action="Url2">
    	<s:textfield name="url" label="URL" size="40"/>
    	<s:submit/>
	</s:form>
</div>
</body>
</html>
 

 

package com.erong.struts.action;
import com.opensymphony.xwork2.ActionSupport;

public class UrlTestAction extends ActionSupport {
    private String url;
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
}

 

<!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>Invalid URL</message>
        </field-validator>
    </field>
</validators>
 

 

6、利用正则表达式进行输入的验证(这个方法比较灵活,不管是什么样的都能够通过正则表达式进行匹配):

 

 

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>regex Validator Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
	color:red;
}
</style>
</head>
<body>
<div id="global" style="width:350px">
	<h3>Enter a phone number</h3>
	<s:form action="RegEx2">
    	<s:textfield name="phone" label="Phone (xxx-xxx-xxxx)"/>
    	<s:submit/>
	</s:form>
</div>
</body>
</html>

 

package com.erong.struts.action;

import com.opensymphony.xwork2.ActionSupport;

public class RegExTestAction extends ActionSupport {
    private String phone;
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
}
 
<!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="phone">
        <field-validator type="regex">
            <param name="expression">
                <![CDATA[\d\d\d\-\d\d\d\-\d\d\d\d]]>
            </param>
            <message>
                Invalid phone number or invalid format
            </message>
        </field-validator>
    </field>
</validators>
 
分享到:
评论

相关推荐

    Struts2 校验器

    XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 4. **自定义校验器**:如果内置的校验器无法满足特定需求,开发者可以...

    struts2输入校验

    本文将深入探讨Struts2中的输入校验机制,以及如何对指定方法进行输入校验。 在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但...

    Struts2 输入校验

    Struts2集成Apache Commons Validator,允许开发者创建XML配置文件来定义校验规则。在这些XML文件中,你可以设置字段的校验规则,如长度、格式等。然后在Action类中声明对应的ActionForm,Struts2会基于这些规则进行...

    struts2 对action中的所有方法进行校验

    总的来说,Struts2提供了灵活且强大的数据校验机制,无论是在XML配置文件中定义,还是利用注解,甚至自定义校验逻辑,都能有效地保证Action中各个方法的输入数据合法,从而提高应用程序的稳定性和安全性。...

    Struts2的输入校验实例代码

    当用户提交表单时,Struts2会调用`validate`方法进行校验。如果校验失败,Struts2会自动重定向到`input`视图(即`register.jsp`),并在页面上显示错误信息(通过`s:fielderror`标签)。 6. **struts.xml配置**: ...

    struts2的数据校验

    对于不喜欢或不适用注解的开发者,Struts2还支持通过XML配置文件定义校验规则。在struts.xml或相应的action配置文件中,可以定义`&lt;validators&gt;`元素来指定校验规则。例如,可以定义`&lt;field&gt;`元素来指定字段名,然后...

    struts 2 基础2__继承ActionSupport完成输入校验

    在Struts2中,输入校验有两种主要方式:基于注解的校验和基于配置文件的校验。 1. **基于注解的校验**:通过在Action类的属性上添加JSR-303或JSR-349的Bean Validation注解,如`@NotNull`、`@Size`等,Struts2会...

    Struts2--输入校验

    总之,Struts2的输入校验机制是其强大功能的一部分,通过合理利用这些机制,可以有效地防止因非法输入引发的问题,提高应用程序的安全性和稳定性。在开发过程中,应始终重视输入校验,确保每个用户交互都经过有效的...

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    struts2输入校验深入总结

    在进行Struts2输入校验时,还需要注意以下几点: - **错误处理**:当验证失败时,应有适当的错误处理机制,如返回错误消息或重定向到特定页面。 - **分层验证**:考虑在客户端(如JavaScript)和服务器端都进行...

    struts2 简单数据校验

    - 在Action类中,定义需要校验的字段,并添加`@Validated`注解或者使用Struts2的XML配置文件来指定需要校验的属性。 - 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - ...

    [原]Struts2输入校验

    **使用Struts2进行输入校验的步骤** 1. **定义验证规则**: 在Action类或ActionForm中定义验证规则,或者在XML配置文件中声明。 2. **创建校验配置文件**: 创建一个XML文件(通常名为struts-validation.xml或struts...

    struts2 基本校验(配置文件形式)

    本篇文章将详细探讨Struts2中基于配置文件的形式进行基本校验的方法。 首先,Struts2的数据验证分为两种方式:Action级别验证和拦截器级别验证。本文主要关注的是Action级别的验证,通过配置文件来定义验证规则。...

    Struts2自定义校验框架

    - XML配置:在`struts.xml`或相应的Action配置文件中,使用`&lt;validators&gt;`标签定义自定义校验器,通过`&lt;field-validator&gt;`指定需要应用该校验器的字段。 - 注解配置:在Action类的属性上使用自定义注解,通过注解...

    struts2类型转换 拦截器 校验的例子

    Struts2的校验框架会根据这些规则对用户输入进行检查,并在验证失败时返回错误信息。验证结果可以用于页面显示或者控制流程。 在实际示例中,你可能有一个名为`UserAction`的Action,其中包含`username`和`password...

    Struts2的校验框架

    在Struts2中,校验框架是基于Action类的,每个Action类可以关联一个或多个校验配置文件,这些文件通常以.xml或.properties格式存在。这些文件定义了字段级别的验证规则,如非空检查、长度限制、数据类型检查等。当...

    struts2讲义_吴峻申

    8.2 利用配置文件进行输入校验方法说明 157 8.2.1 Struts2字段校验的配置文件形式 158 8.2.2 Struts2非字段校验的配置文件形式 161 8.2.3 Struts2输入校验出错信息的国际化配置形式 163 8.3 集合类型输入校验介绍 ...

Global site tag (gtag.js) - Google Analytics