`

html:errors标签与ActionMessage和Struts资源文件

阅读更多

在Struts中我们用html:errors标签在JSP页面上输出验证过程中产生的错误信息,错误信息一般来自于消息资源文件 (xxx.properties文件,一般位于classes目录下,文本文件),当然错误信息也可以是不是资源文件中的文本消息,而是自定义的文本。接 下来将详细讲述。

  先来看一个简单例子

1、资源文件错误信息来源(其格式为key=value)

error.test=thisisatesterror.

2、 JSP页面中用于显示错误信息标签

  1. < html:errors property = "testerror" />



3、ActionFormBean的validate()方 法中产生错误信息

  1. ActionErrorserror= new ActionErrors();
  2. error.add("testerror" , new ActionMessage( "error.test" ))
  3. return error;


  这个例子的功能就是在ActionFormBean的validate()方法中产生一条名为:testerror 的错误信息,错误信息息是资源文件中key为error.test的值。然后在页面上用html:errors标签输出testerror这条错误信息。
   这是最常用的一种功能,所有的错误信息都在资源文件里面。
  有人会问,错误信息只能存放在资源文件中吗,其实不是这样。不需要资源文件也可以 产生错误信息。
  我们再来看一下ActionMessage的另一种构造方法:

  1. ActionMessage(Stringkey, boolean isresource)


  如果isresource值为true,则表示key是资源文件中的key,产生的消息就是与key相对应的消息
   如果isresource值为false,则表示key为一条普通的消息。
  如果上面的error.add改为 error.add("testerror",newActonMessage("这是一条自定义消息",false",));那么页面上显示的将是: 这是一条自定义消息.
  另外还可以用ActionMessage产生复合消息,比如我们要输出:xxx不能用作用户名,其中xxx是一个变量。

   首先我们在资源文件中加一个条复合消息
  testmsg={0}不能用作用户名。这里{0}是要被替换的参数。
  我们再来看一 下ActionMessage的另一中构造方法

  1. ActionMessage(Stringkey,Objectvalue0);


  也就是说用value0的值来替换{0}
  我们修改error.add为 error.add("testerror",newActonMessage("testmsg",""))
  那么JSP页面上将显 示:不能用作用户名。
  当然在一条复合消息中也可带多个参数,参数依次为{0},{1},{2}或更多
  例 如:loginUser=用户名:{0}姓名:{1}登录次数:{2}.....
  那么在产生错误消息时就用 newActionMessage(Stringkey,Objectvalue0,Objectvalue1,Objectvalue2.....) 或者使用对象数组newActionMessage(Stringkey,Object[]values)

  1. String[]detail={ "Admin" , "王晶" , "12" };
  2. error.add("testerror" , new ActionMessage( "loginUser" ,detail))
分享到:
评论

相关推荐

    Struts的html errors的用法

    本文将详细介绍`html:errors`标签的使用方法,并结合Struts配置文件以及JSP页面和ActionForm的实例进行解析。 #### 二、Struts配置文件中的验证设置 在Struts框架中,为了使`html:errors`标签能够正常工作,首先...

    Struts2标签列表及说明

    Struts2 标签列表及说明 Struts2 是一个基于 Java 语言的 Web 应用程序 Framework,它提供了许多标签来帮助开发者快速构建 Web 应用程序。下面是 Struts2 的标签列表及说明: A: * &lt;s:a&gt;:超链接,类似于 HTML ...

    Struts2-ActionError-ActionMessage-Example

    - 在struts.xml配置文件中,你可以定义全局错误和消息资源文件,以便统一管理错误和消息的国际化。 - 例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    struts常用标签及其用法归纳

    在Struts中,标签库是其MVC设计模式的一部分,提供了丰富的UI组件和逻辑控制,使得开发者能够更方便地在JSP页面中实现业务逻辑和视图层的分离。以下是对"struts常用标签及其用法"的详细阐述: 1. **显示数据标签**...

    struts标签的使用

    Struts提供了丰富的标签库,这些标签库主要分为两个部分:JSP标准标签库(JSTL)和Struts自定义标签库。JSTL用于处理通用的JSP任务,如迭代、条件判断等;而Struts自定义标签则专门用于处理MVC框架相关的任务,如...

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    struts2 标签 tags API 参考文档

    `&lt;s:actionmessage&gt;` 和 `&lt;s:actionerror&gt;` 标签用于显示Action级别的消息和错误,这些通常与Struts2的全局消息和错误处理机制配合使用。 10. **Tag Attributes** 每个Struts2标签都有许多可配置的属性,这些属性...

    struts中ActionForm的validate方法使用小得

    `&lt;html:errors&gt;`标签会遍历ActionErrors中的所有ActionMessage,根据其key查找资源文件中的对应值,然后将错误信息显示在页面上。 总结来说,Struts的ActionForm`validate`方法是数据验证的关键,它允许我们在用户...

    实用struts标签库

    9. **Internationalization (i18n)标签**:Struts提供了`&lt;s:text&gt;`和`&lt;s:messages&gt;`等标签,支持多语言环境,可以从资源文件中动态加载文本。 10. **Ajax支持**:Struts2还提供了AJAX相关的标签,如`&lt;s:a&gt;`(异步...

    Struts2&ActionError&ActionMessage&Demo

    4. **显示错误和消息**:在JSP页面中,使用Struts2的标签库(如`s:actionerror`和`s:actionmessage`)来遍历并显示`ActionContext`中的`ActionErrors`和`ActionMessages`。 ```jsp &lt;s:if test="hasActionErrors()"&gt;...

    struts2.0标签详解

    - `s:text` 和 `s:resourcebundle`: 实现应用的多语言支持,通过不同的locale加载相应的资源文件。 5. **验证和错误处理** - `s:fielderror` 和 `s:errors`: 显示验证错误信息,方便用户修正输入。 - `s:action...

    07Struts错误处理

    - 错误信息可以通过`ActionMessage`对象来创建,可以指定错误信息的键名(key)和对应的资源文件(bundle)。 - 最后返回包含所有错误信息的`ActionErrors`对象。 - 示例代码: ```java public ActionErrors ...

    中文-Struts2-Tags-API chm格式 非常详细的标签使用说明有例子

    这个“中文-Struts2-Tags-API chm格式”的资源,正是一个详尽的Struts2标签API指南,包含了各种标签的使用方法和实例,对于理解和应用Struts2标签库非常有帮助。 Struts2的标签API主要包括以下几个部分: 1. **...

    struts2数据验证与国际化

    为了使错误信息更具可读性,可以在属性文件中定义`errors.header`和`errors.footer`属性,以定制错误信息的显示格式。 除了Action验证,Struts2还支持ActionForm验证,这种方式将验证逻辑放在ActionForm类中,通常...

    Struts Validation框架浅尝

    - 使用Struts标签库中的`&lt;html:errors&gt;`标签来展示验证失败时的错误消息。 - 示例代码如下: ```jsp &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; &lt;s:form action="login" theme="simple"&gt; &lt;s:textfield name...

    struts2标签详细讲解

    本文将详细讲解Struts2中的各种标签,帮助开发者更好地理解和使用这个框架。 A. `&lt;s:a&gt;` 和 `&lt;s:action&gt;`: 1. `&lt;s:a&gt;`:用于创建超链接,与HTML的`&lt;a&gt;`标签类似,但更加强大,可以传递参数,支持动作映射。 2. `&lt;s...

    struts1.2 validate 源代码 实现

    4. **错误信息国际化**:`ActionMessage`中的错误消息通常与资源文件(如`ApplicationResources.properties`)中的键关联,以便支持多语言。例如,`error.username.required`将在资源文件中找到对应的错误消息。 ##...

    struts国际化功能

    接着,为了使用这些资源文件,我们需要在Struts配置文件(struts-config.xml)中声明一个`&lt;message-resources&gt;`元素,指定资源文件的位置。例如: ```xml &lt;struts-config&gt; &lt;!-- Action Mapping ...

    Struts使用技巧和注意事项

    在 `struts-config.xml` 中配置 Validator Plugin 和相关资源文件路径: ```xml &lt;message-resources parameter="com.kevinb.struts.ApplicationResources"/&gt; &lt;plug-in className="org.apache.struts.validator....

    struts的错误处理

    - 在`login.jsp`中添加代码,使用Struts标签库中的`&lt;html:errors&gt;`标签来显示错误信息。 - 示例: ```jsp &lt;%@ taglib uri="/struts-html" prefix="html" %&gt; &lt;html:errors/&gt; &lt;html:text property="username"/&gt; ...

Global site tag (gtag.js) - Google Analytics