`
colorfish
  • 浏览: 26903 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

关于struts:errors标签的几点使用心得和经验

阅读更多

  关于<html:errors>和<html:messages>的几点使用心得和经验    在Struts项目中,标签的功能非常强大。以前没有用过,这次初次使用,因此在编码的过程中,可谓一波三折。虽然网上的资料非常丰富,但是"网上的来终觉浅,绝知此事要躬行”,因此在使用的过程中频频出现别人没有提及到的问题。使用<html:errors>和<html:messages>这两个标签时,按照以下步骤写代码,就遇到问题:

  1.我在Actionform中的Validate()方法中,定义了ActionErrors errors对象,在ActionForm中的消息类型集合目前只能采用它来封装。里面封装的消息信息为ActionMessages.GLOBAL_MESSAGE, new ActionMessage("key");

   2.我在Action中用的是ActionMessages messages类来封装错误和提示信息,里面封装的消息信息为ActionMessages.GLOBAL_MESSAGE, new ActionMessage("key");其中保存方法为addMessages(request,messages);

  3.我在页面上采用一个<div>来显示所有的系统消息(包括ActionForm中的消息和Action中的消息),我想做到底效果是,当系统没有消息时,<div>不显示;而当系统有消息时(包括ActionForm中的消息和Action中的消息),我就用<div>来显示系统消息。  

   具体的代码如:

<logic:messagesPresent>  //--有消息才显示          

      <div><html:errors /></div>        

        </logic:messagesPresent>

此时运行程序就遇到了一个问题:

只当ActionForm中有消息时,能在页面上显示,但是Action中的消息不能显示。

 后来,我把Action程序中的保存消息的方法改成saveErrors(request,messages);此时在页面上能显示Action中的消息,但是,ActionForm中有消息时页面就不能显示了。    遇到这个问题,我到处查阅资料,搞了一上午,最后终于实现了当初我们的设计:

  action中消息保存方法为addMessages(request,messages); 具体做法如下:<logic:messagesPresent>

  <div align="left" id="menu_error" onClick="hideMenu('menu_error');">

   <font color=blue class="style5">     

系统提示!     <br>     <br>    </font>    <font>        

           <html:messages  id="message" message="false">  

   <bean:write name="message" /><br>  

   </html:messages>              </font>    <br>    <br>   </div>  

 </logic:messagesPresent>      <logic:messagesPresent message="true">   <div align="left" id="menu_error" onClick="hideMenu('menu_error');">    <font color=blue class="style5">     系统提示!     <br>     <br>    </font>    <font>          <html:messages name="GLOBAL_MESSAGE" id="message" message="true">     <bean:write name="message" /><br>     </html:messages>                   </font>    <br>    <br>   </div>      </logic:messagesPresent>

 解释:<logic:messagesPresent>是表示在系统作用域范围内,如果存在ActionMessage对象就执行用户想要的操作。(一般需求就是显示消息)   <logic:messagesPresent>的message属性可以标记消息的类型,值为true或false,false对应GLOBAL_ERROR,true对应GLOBAL_MESSAGE。GLOBAL_ERROR就是错误消息(即ActionErrors类型),GLOBAL_MESSAGE是提示消息(即ActionMessages类型),默认值为false;    因此,我想要显示错误消息就用<logic:messagesPresent>或<logic:messagesPresent message="false">; 显示消息的语句可以用<html:errors> 或者 <html:messages  id="message" message="false">     <bean:write name="message" /><br>     </html:messages> ----------------------        显示提示消息就用<logic:messagesPresent message="true">;   <html:messages  id="message" message="true">     <bean:write name="message" /><br>     </html:messages> -------------------- 上面就是<html:errors>和<html:messages>的具体使用方法和技巧。

分享到:
评论

相关推荐

    Struts的html errors的用法

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

    struts1标签库详解

    * bean:struts:将一个 Struts 的 acción 绑定到 page 作用域中,以便其它标签可以使用该值。 * bean:write:将一个 bean 的值写到页面上。 HTML Tags HTML Tags 是 Struts 中的 HTML 标签库,包含的标签可以用来...

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

    struts2常用标签详解

    在使用Struts2标签时,还需要注意以下几点: - 标签的命名空间:通常以`s:`开头,表明来自Struts2标签库。 - 属性绑定:许多标签都允许通过`value`属性绑定到Action的属性。 - 表单提交:使用`s:form`标签创建表单,...

    struts标签库使用

    - 使用JSTL(JavaServer Pages Standard Tag Library)和其他开源标签库与Struts标签库结合,提高代码复用性和可读性。 - 保持ActionForm和Action类的简洁,避免在JSP页面中处理过多业务逻辑。 8. **学习与调试**...

    Struts2常用标签

    Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...

    Struts2表单标签使用范例

    本示例将深入探讨Struts2的表单标签使用方法,帮助开发者更好地理解和应用这些标签。 首先,我们来了解一些基本概念。在Struts2中,表单标签通常与Action类中的属性相对应,用于在JSP页面上创建HTML表单元素。例如...

    Struts2标签列表及说明

    * &lt;s:generator&gt;:和 &lt;s:iterator&gt; 标签一起使用 H: * &lt;s:head&gt;:在 &lt;head&gt;&lt;/head&gt; 里使用,表示头文件结束 * &lt;s:hidden&gt;:隐藏值 I: * &lt;s:i18n&gt;:加载资源包到值堆栈 * &lt;s:include&gt;:包含一个输出,servlet ...

    JSP Struts之HTML标签库详解

    5. **Nested标签库**:这个库增强了其他Struts标签的嵌套能力,使得在复杂表单和布局中使用Struts标签更加方便。 Struts标签库的一个重要特性是它们支持属性的嵌套引用,这意味着可以使用`.`来访问对象的深层属性,...

    struts标签库使用大典

    开发者可以通过这个版本的文档和API来学习和使用Struts标签库。 6. **优势与注意事项** 使用Struts标签库能提高开发效率,减少JSP页面中的脚本代码,使页面更易于维护。然而,需要注意的是,随着Struts框架的发展...

    struts1.2基本标签使用视频

    总之,"Struts1.2基本标签使用视频"是一份对初学者和有一定经验的开发者都非常有帮助的学习资源。它将帮助你更好地理解和掌握Struts1.2框架中的核心标签,提高你在Java Web开发中的技能。通过深入学习和实践,你将...

    struts2官方例子10--Struts2的Form标签

    如果验证失败,Struts2会自动显示错误消息,这些消息可以使用`struts:errors`标签来呈现。 在压缩包`Form_Tags_Struts2_Ant`中,可能包含了以下内容: 1. `struts.xml`:配置文件,定义了Action类和对应的Action ...

    Struts标签库

    在使用Struts标签库时,还需要注意以下几点: 1. 引入标签库:在JSP页面中通过`&lt;%@ taglib %&gt;`指令引入相应的标签库。 2. 标签名和属性:理解每个标签的名称及其属性,合理设置属性值,以实现期望的功能。 3. 国际化...

    Struts配置及标签库详解

    4. `struts-nested.tld`:Nested标签库,用于处理嵌套属性,通常与Tiles框架一起使用,使得在JSP页面中可以方便地访问多层嵌套的Bean属性。 了解这些标签库后,开发人员可以更高效地构建视图层,减少Java代码在JSP...

    Struts标签参考 struts标签帮助

    4. 自动验证:Struts2的表单标签支持自定义验证规则,能够自动进行客户端和服务器端验证。 五、Struts标签手册 "Struts标签参考"和"Struts标签手册"提供了详细的标签使用指南,涵盖了所有可用的标签、属性及其用法...

    struts1标签及实例

    - `struts_taglib`:这个目录可能包含了Struts1的标签库JAR文件,它是使用Struts1标签所必需的库。 了解并熟练掌握Struts1的标签库是提升Java Web开发效率的关键,通过合理的使用,能够有效地降低代码复杂度,提高...

    Struts标签- HTML标签

    Struts框架是Java Web开发中的一个关键组件,它主要用于构建MVC...了解和熟练掌握这些标签的使用,对于任何Struts开发者都是至关重要的。通过实践和探索,开发者可以更好地利用这些标签来构建高效、健壮的Web应用程序。

    struts2的使用标签

    总结,Struts2的使用标签使得开发者能够更高效、简洁地构建Web界面,减少了手动编写JSP页面的工作量,提升了开发效率和代码质量。通过熟练掌握这些标签,可以更好地利用Struts2框架进行Web应用开发。

Global site tag (gtag.js) - Google Analytics