`
464872333
  • 浏览: 90402 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

stuts2表单验证的一些问题

阅读更多

    stuts2表单验证时,validation.xml的一些配置,需要注意以下几个方面:

一.关于验证的一些配置信息

1.validation.xml的文件名称一定要以Action名称开头,如:现在有个登录的LoginAction,那么在建验证xml文件时,validation.xml的名称为“LoginAction-validation.xml”。

2.验证的xml文件要和相应的action类放在同一文件夹下。

3.validation.xml文件中的<field-validator type="">标签的type属性,必须与VO中定义的属性的数据类型相同。

4.在struts.xml文件中的<action>标签中,必须包含<result name="input">和<result name="success" >,否则会报找不到页(404)。<?xml version="1.0" encoding="UTF-8" ?>

5.validation.xml文件的一些配置信息

<!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="username">  
   <!-- 验证字符串不能为空 -->  
   <field-validator type="requiredstring">  
    <!-- 去空格 -->  
    <param name="trim">true</param>  
    <!-- 错误提示信息 -->  
    <message>用户名不能为空</message>  
   </field-validator>  
    
   <!-- 验证字符串长度 -->  
   <field-validator type="stringlength">  
    <param name="minLength">2</param>  
    <param name="maxLength">20</param>  
    <message>用户名长度应在2到18个字符间</message>  
   </field-validator>  
</field>  
 
<field name="password">  
   <field-validator type="requiredstring">  
    <param name="trim">true</param>  
    <message>密码不能为空</message>  
   </field-validator>  
    
   <field-validator type="stringlength">  
    <param name="minLength">6</param>  
    <param name="maxLength">18</param>  
    <message>密码长度应在6到18个字符之间</message>  
   </field-validator>  
</field>  
 
<!--<field name="age">  
   <field-validator type="int">  
    <param name="min">1</param>  
    <param name="max">150</param>  
    <message>年龄应在1到150之间</message>  
   </field-validator>  
</field>  
 验证字符串为日期类型   
<field name="birthday">  
   <field-validator type="date">  
    <param name="min">1900-01-01</param>  
    <param name="max">2008-10-16</param>  
    <message>出生日期应在1900-01-01到2008-10-16</message>  
   </field-validator>  
</field>  
--></validators>
 

二.关于页面显示的样式

    为了能让验证错误时的提示信息显示在每个字段后面,需做以下修改:

1.找到你的struts2-core-2.2.XXX.jar文件,用解压工具打开,找到“template”---->simple文件夹下"fielderror.ftl",将其解压到出来。

2.和struts2的jar包目录一样,在你的项目src目录下,新建一个template文件夹,然后在template下新建simple文件夹,并将“fielderror.ftl”文件放在这个目录下。如下图所示:


3. 修改fielderror.ftl配置文件,这一步才是关键,如何修改,就是把<ul></ul><li></li>标签删除(仅仅是删除标签而不删除标签里面的内容),简便的方法就是用记事本打开这个文件并用空格替换上面的每个标签。

显示效果如下:


 

下面是“fielderror.ftl”修改后的代码:

<#--
/*
 * $Id: Action.java 502296 2007-02-01 17:33:39Z niallp $
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->
<#if fieldErrors?exists><#t/>
<#assign eKeys = fieldErrors.keySet()><#t/>
<#assign eKeysSize = eKeys.size()><#t/>
<#assign doneStartUlTag=false><#t/>
<#assign doneEndUlTag=false><#t/>
<#assign haveMatchedErrorField=false><#t/>
<#if (fieldErrorFieldNames?size > 0) ><#t/>
	<#list fieldErrorFieldNames as fieldErrorFieldName><#t/>
		<#list eKeys as eKey><#t/>
		<#if (eKey = fieldErrorFieldName)><#t/>
			<#assign haveMatchedErrorField=true><#t/>
			<#assign eValue = fieldErrors[fieldErrorFieldName]><#t/>
			<#if (haveMatchedErrorField && (!doneStartUlTag))><#t/>
				
				<#assign doneStartUlTag=true><#t/>
			</#if><#t/>
			<#list eValue as eEachValue><#t/>
				<span<#rt/>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
<#else>
 class="errorMessage"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
>${eEachValue}</span>
			</#list><#t/>			
		</#if><#t/>
		</#list><#t/>
	</#list><#t/>
	<#if (haveMatchedErrorField && (!doneEndUlTag))><#t/>
		
		<#assign doneEndUlTag=true><#t/>
	</#if><#t/>
<#else><#t/>
	<#if (eKeysSize > 0)><#t/>
		
			<#list eKeys as eKey><#t/>
				<#assign eValue = fieldErrors[eKey]><#t/>
				<#list eValue as eEachValue><#t/>
					<span<#rt/>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
<#else>
 class="errorMessage"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
>${eEachValue}</span>
				</#list><#t/>
			</#list><#t/>
		
	</#if><#t/>
</#if><#t/>
</#if><#t/>
 
  • 描述: 111
  • 大小: 23.7 KB
  • 大小: 10.2 KB
分享到:
评论

相关推荐

    Struts2表单验证

    本文将深入探讨Struts2的表单验证机制。 首先,Struts2的输入验证分为两种方式:手动验证和使用验证框架。 **手动验证**主要包括两种方法: 1. **重写validate()方法**:这是最基础的方式,所有Action类都需要继承...

    struts的表单验证

    本文将深入探讨Struts中的表单验证,这是构建用户交互界面时一个至关重要的部分。 表单验证是在用户提交数据前检查输入的有效性,以确保数据的完整性和安全性。在Struts框架中,表单验证通常通过两个主要方式实现:...

    struts2官方例子7-表单验证 xml形式的验证

    在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例主要讲解的是使用XML文件进行表单验证的方法。 首先,让我们理解表单验证的基本...

    struts2 表单验证 注册

    在Struts2中,表单验证是一个重要的功能,它确保了用户输入的数据符合我们设定的规则,从而提高应用程序的健壮性和用户体验。在注册场景中,表单验证尤为重要,因为它涉及到用户账户的安全性。 首先,让我们深入...

    Struts动态表单验证

    2. **表单验证的重要性** 表单验证是Web应用中必不可少的一环,用于确保用户提交的数据符合预设的规则,防止无效或恶意的数据进入系统。动态表单验证允许我们根据不同的场景或用户角色灵活地调整验证规则。 3. **...

    struts2 表单验证验证信息显示位置及效果

    这篇博客文章“Struts2 表单验证验证信息显示位置及效果”探讨了如何有效地实现和展示Struts2中的表单验证信息。 首先,Struts2提供了一种灵活的验证机制,包括Action级别的校验和ValidatorForm级别的校验。Action...

    关于struts表单验证

    在Struts框架中,表单验证是一个关键环节,确保从用户端接收到的数据准确无误,符合应用的要求。本文将详细讲解Struts中的表单验证机制,包括ActionForm Bean的使用、validate()方法和reset()方法,以及如何处理验证...

    Struts2极速表单验证框架(注解)

    在Struts2中,表单验证是确保用户输入数据准确性和完整性的关键部分。本篇将详细介绍Struts2的极速表单验证框架,特别是其注解方式的使用。 ### 1. 表单验证的重要性 在Web应用程序中,验证用户输入的数据是必不可...

    struts2表单验证

    在Struts2中,表单验证是处理用户输入数据的重要部分,确保数据的完整性和正确性。下面将详细讨论Struts2中的表单验证及其相关知识点。 一、Struts2表单验证概述 Struts2的表单验证分为客户端验证和服务器端验证。...

    李顺利Struts2表单验证后回显错误信息 标签使用

    总结来说,通过学习李顺利老师的Struts2表单验证后回显错误信息的教程,我们可以有效地利用Struts2提供的标签和OGNL表达式来创建用户友好的错误提示,提升Web应用的用户体验。同时,通过自定义样式和利用拦截器,...

    struts2登陆验证

    Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级Web应用程序。它的核心是Action和Result,提供MVC(Model-View-Controller)架构模式,帮助开发者实现清晰的业务逻辑和视图分离。在Struts2中,登录验证...

    Struts2表单标签使用范例

    在处理表单验证方面,Struts2允许我们在Action类中定义字段级和Action级的验证规则。例如,我们可以使用注解`@Size`来限制用户名的长度: ```java public class UserAction extends ActionSupport { @Size(min = 5...

    整合了struts2 jquery的formValidator表单验证的页面代码

    在"整合了struts2 jquery的formValidator表单验证的页面代码"这个项目中,开发者可能采用了以下步骤: 1. **引入依赖**:首先,需要在HTML页面中引入Struts2的相关JSP标签库,同时引入jQuery库和formValidator的...

    Struts动态表单验证Demo视频

    总的来说,"Struts动态表单验证Demo视频"是学习Struts框架中动态表单验证功能的一个宝贵资源,对于Java Web开发者来说,掌握这一技能可以大大提高开发效率,减少因数据验证问题导致的bug。记得在观看过程中,结合源...

    在Eclipse中配置Struts2项目(html)手把手教会你 +struts2 标签库介绍(html) + STRUTS2学习文档.pdf + Struts2―表单验证validate(html) + struts2和struts的比较 + struts教程(html)

    在Eclipse中配置Struts2...Struts2―表单验证validate(html)对validate的type属性校验类型以及param 做了详细的解释说明。 struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)

    struts表单验证讲解视频教程

    一、Struts表单验证概述 在Struts中,表单验证通常是通过ActionForm对象来实现的。ActionForm是业务逻辑层和表现层之间的桥梁,用于收集和验证用户输入的数据。当用户提交表单时,这些数据会被封装到ActionForm对象...

    struts2 表单标签的使用

    此外,Struts2表单标签还可以与其他标签结合使用,如`&lt;s:actionerror&gt;`、`&lt;s:fielderror&gt;`和`&lt;s:property&gt;`,以显示验证错误信息或动态显示数据。`&lt;s:actionerror&gt;`显示全局错误,`&lt;s:fielderror&gt;`显示特定字段的...

    如何自定义Struts2表单验证后的错误信息显示格式_好资源0分送

    在Struts2中验证真的比较容易,可以在Action中直接写validate,也可以使用validate框架进行验证,这个我觉得比Struts1.x方便了很多,但是有个问题一直困扰了我,直到现在有个小程序要用到这个方面的知识,那就是...

    struts结合js的表单验证

    本文将详细介绍如何在 Struts2 框架中利用 JavaScript(JS)进行客户端表单验证,并结合实际代码示例来解释具体的实现方式。 #### 一、基本概念 Struts2 是一个基于 Java 的企业级应用框架,它支持多种技术栈,...

    如何自定义Struts2表单验证后的错误信息显示格式/样式

    在Struts2框架中,表单验证是保证数据正确性和完整性的重要环节。默认情况下,当表单验证失败时,Struts2会返回错误消息,并在页面上以特定的格式显示这些错误。然而,这种默认的错误信息显示可能不符合每个开发者或...

Global site tag (gtag.js) - Google Analytics