`
二当家的
  • 浏览: 25751 次
文章分类
社区版块
存档分类
最新评论

Struts2输入校验(三) addActionError的用法

 
阅读更多

Struts2的错误信息分两种级别,第一种是:field(属性)级别;第二种是:action级别

两者的区别在于:addFieldError事实上是将错误信息保存在一个Map中,通过属性名为key,错误信息为value的格式保存,而addActionError则是保存在一个Collection中,再详细的就是保存在一个ArrayList中的,所以,直接保存一个出错信息即可。

if(null == username || username.length() < 6 || username.length() > 10){
			
			this.addActionError("username invalid");
			
	}

当把代码做了以上修改之后,到页面中,输入错误信息,发现,页面回到当前页面,但是没有显示错误信息。

原因:Struts提供的标签有显示错误信息的功能,但是只针对field级别的错误,所以我们定义的action级别错误无法显示,但是由于已经出错,所以留在当前页面。

怎样判断页面是否出错,ActionSupport类中有一个hasErrors方法

public boolean hasErrors{

    return  (hasActionErrors()||hasFieldErrors());

}

所以,当hasActionErrors和hasFieldErrors中有一个为假,Struts就认为验证出错。

怎样才能在页面上显示ActionError呢?

在页面上加上<s:actionerror/>就OK啦!

转自:http://blog.csdn.net/rainberryli/article/details/6800638

所以,当hasActionErrors和hasFieldErrors中有一个为假,Struts就认为验证出错。

怎样才能在页面上显示ActionError呢?

在页面上加上<s:actionerror/>就OK啦!

分享到:
评论

相关推荐

    struts2中的输入校验

    如果业务逻辑方法没有指定的验证方法,Struts2会尝试使用`validate()`方法进行校验。 当需要避免`validate()`方法执行时,有两种策略: - 不重写`validate()`方法,但这会导致`execute()`方法无法被校验。 - 添加一...

    struts2 简单数据校验

    这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 数据校验是任何Web应用程序中的核心部分,它涉及到多个方面,如必填字段、数据类型检查、长度限制、格式验证等。...

    Java struts2 validate用户登录校验功能实现

    在本教程中,我们将深入探讨如何使用Struts2的`validate`方法实现用户登录的校验功能。 首先,我们来看一下环境配置。为了运行Struts2项目,你需要Eclipse IDE 4.3.2、Java JDK 1.7_45或更高版本,以及MySQL 5.0或...

    struts2-处理类型转换

    在Struts2中,输入校验发生在类型转换成功后,且在`execute`方法执行之前。服务器端校验通常更为重要,因为它能防止恶意用户绕过客户端校验。 **编程式输入校验**涉及到覆盖`ActionSupport`类的`validate`方法,此...

    struts2 的简介

    你可以通过覆盖`ActionSupport`中的`validate`方法来实现校验逻辑,使用`addActionError`和`addFieldError`方法来添加校验错误信息。 - **异常处理**:在Struts2中,未捕获的异常可以通过在`struts.xml`中定义异常...

    struts2验证.pdf

    - **返回结果**:如果存在校验错误,Struts2会自动返回`"input"`结果,跳转到指定的输入页面;如果没有错误,则继续执行`execute`方法。 ##### 2.2 实例演示 以下是一个简单的示例,展示了如何在一个注册页面中使用...

    Struts2验证码

    在Struts2的Action中,取出Session中的验证码与用户输入的进行比较,如果匹配则通过验证,否则返回错误信息。 ```java String userCaptcha = actionRequest.getParameter("captcha"); String sessionCaptcha = ...

    Struts中使用validate()输入校验方法详解

    综上所述,`validate()` 方法是Struts 2中实现客户端输入验证的重要工具,它允许开发者在服务器端进行数据检查,防止无效或不合法的数据进入应用程序,同时提供了灵活的错误处理机制,可以定制错误信息的展示方式,...

    struts 验证技术的ppt

    除了手动校验,Struts2还提供了强大的验证框架,如使用XML或注解定义验证规则,以及使用Validator插件。这些框架简化了验证逻辑,使得数据验证更加模块化和可维护。用户可以定义一组规则,应用于不同的Action,也...

    畅所欲言struts2的国际化

    Struts2提供了多种方式实现国际化,主要涉及到JSP页面、Action类以及校验框架的XML配置。 1. **JSP页面的国际化**: - **全局资源文件**:首先,你需要创建两个或多个资源文件,如`globalMessage_en_US.properties...

    struts,ajax,json

    最后,我们来探讨一下Struts 2方法校验的原理。Struts 2通过向当前action中添加错误信息来表示校验失败。在validate方法执行完毕之后,执行execute方法之前,会检查action中是否添加了错误信息。如果添加了错误信息...

    struts2 Ognl表单提交问题

    ### Struts2 OGNL 表单提交问题详解 #### 一、背景介绍 Struts2框架作为一款流行的企业级应用开发框架,在处理MVC架构方面有着独特的优势。其中,OGNL (Object-Graph Navigation Language) 作为一种强大的表达式...

    validate 方法验证

    3. **返回结果**:如果`validate`方法中添加了错误信息,Struts2会自动将结果设置为"input",表示验证失败,需要用户重新输入。此时,不会执行`execute`方法,而是跳转回表单页面并显示错误信息。错误信息可以通过`...

    struts验证

    本文将深入探讨Struts框架下的数据验证机制,包括如何使用`validate`方法进行验证以及如何利用Validation框架进行更高级的数据校验。 #### 使用`validate`方法验证数据 在Struts2中,最基础的数据验证方式是通过`...

    javaee国际化

    Struts2的国际化可以分为三个主要部分: 1. 页面国际化:在JSP页面中,可以使用`s:text`标签输出国际化文本,或者在`s:textfield`的`key`属性中指定资源文件中的键。还可以使用`s:i18n`标签直接查找资源文件中的...

    黄淮学院J2EE考试复习试题

    通过控制器类中的`addActionError(String error)`方法来输出校验错误信息。 9. **Struts2的核心控制器** Struts2的核心控制器是`FilterDispatcher`,它的初始化方法为`init(FilterConfig config)`。 10. **...

Global site tag (gtag.js) - Google Analytics