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会尝试使用`validate()`方法进行校验。 当需要避免`validate()`方法执行时,有两种策略: - 不重写`validate()`方法,但这会导致`execute()`方法无法被校验。 - 添加一...
这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 数据校验是任何Web应用程序中的核心部分,它涉及到多个方面,如必填字段、数据类型检查、长度限制、格式验证等。...
在本教程中,我们将深入探讨如何使用Struts2的`validate`方法实现用户登录的校验功能。 首先,我们来看一下环境配置。为了运行Struts2项目,你需要Eclipse IDE 4.3.2、Java JDK 1.7_45或更高版本,以及MySQL 5.0或...
在Struts2中,输入校验发生在类型转换成功后,且在`execute`方法执行之前。服务器端校验通常更为重要,因为它能防止恶意用户绕过客户端校验。 **编程式输入校验**涉及到覆盖`ActionSupport`类的`validate`方法,此...
你可以通过覆盖`ActionSupport`中的`validate`方法来实现校验逻辑,使用`addActionError`和`addFieldError`方法来添加校验错误信息。 - **异常处理**:在Struts2中,未捕获的异常可以通过在`struts.xml`中定义异常...
- **返回结果**:如果存在校验错误,Struts2会自动返回`"input"`结果,跳转到指定的输入页面;如果没有错误,则继续执行`execute`方法。 ##### 2.2 实例演示 以下是一个简单的示例,展示了如何在一个注册页面中使用...
在Struts2的Action中,取出Session中的验证码与用户输入的进行比较,如果匹配则通过验证,否则返回错误信息。 ```java String userCaptcha = actionRequest.getParameter("captcha"); String sessionCaptcha = ...
综上所述,`validate()` 方法是Struts 2中实现客户端输入验证的重要工具,它允许开发者在服务器端进行数据检查,防止无效或不合法的数据进入应用程序,同时提供了灵活的错误处理机制,可以定制错误信息的展示方式,...
除了手动校验,Struts2还提供了强大的验证框架,如使用XML或注解定义验证规则,以及使用Validator插件。这些框架简化了验证逻辑,使得数据验证更加模块化和可维护。用户可以定义一组规则,应用于不同的Action,也...
Struts2提供了多种方式实现国际化,主要涉及到JSP页面、Action类以及校验框架的XML配置。 1. **JSP页面的国际化**: - **全局资源文件**:首先,你需要创建两个或多个资源文件,如`globalMessage_en_US.properties...
最后,我们来探讨一下Struts 2方法校验的原理。Struts 2通过向当前action中添加错误信息来表示校验失败。在validate方法执行完毕之后,执行execute方法之前,会检查action中是否添加了错误信息。如果添加了错误信息...
### Struts2 OGNL 表单提交问题详解 #### 一、背景介绍 Struts2框架作为一款流行的企业级应用开发框架,在处理MVC架构方面有着独特的优势。其中,OGNL (Object-Graph Navigation Language) 作为一种强大的表达式...
3. **返回结果**:如果`validate`方法中添加了错误信息,Struts2会自动将结果设置为"input",表示验证失败,需要用户重新输入。此时,不会执行`execute`方法,而是跳转回表单页面并显示错误信息。错误信息可以通过`...
本文将深入探讨Struts框架下的数据验证机制,包括如何使用`validate`方法进行验证以及如何利用Validation框架进行更高级的数据校验。 #### 使用`validate`方法验证数据 在Struts2中,最基础的数据验证方式是通过`...
Struts2的国际化可以分为三个主要部分: 1. 页面国际化:在JSP页面中,可以使用`s:text`标签输出国际化文本,或者在`s:textfield`的`key`属性中指定资源文件中的键。还可以使用`s:i18n`标签直接查找资源文件中的...
通过控制器类中的`addActionError(String error)`方法来输出校验错误信息。 9. **Struts2的核心控制器** Struts2的核心控制器是`FilterDispatcher`,它的初始化方法为`init(FilterConfig config)`。 10. **...