关于<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>的具体使用方法和技巧。
分享到:
相关推荐
本文将详细介绍`html:errors`标签的使用方法,并结合Struts配置文件以及JSP页面和ActionForm的实例进行解析。 #### 二、Struts配置文件中的验证设置 在Struts框架中,为了使`html:errors`标签能够正常工作,首先...
* bean:struts:将一个 Struts 的 acción 绑定到 page 作用域中,以便其它标签可以使用该值。 * bean:write:将一个 bean 的值写到页面上。 HTML Tags HTML Tags 是 Struts 中的 HTML 标签库,包含的标签可以用来...
`struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...
在使用Struts2标签时,还需要注意以下几点: - 标签的命名空间:通常以`s:`开头,表明来自Struts2标签库。 - 属性绑定:许多标签都允许通过`value`属性绑定到Action的属性。 - 表单提交:使用`s:form`标签创建表单,...
- 使用JSTL(JavaServer Pages Standard Tag Library)和其他开源标签库与Struts标签库结合,提高代码复用性和可读性。 - 保持ActionForm和Action类的简洁,避免在JSP页面中处理过多业务逻辑。 8. **学习与调试**...
Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...
本示例将深入探讨Struts2的表单标签使用方法,帮助开发者更好地理解和应用这些标签。 首先,我们来了解一些基本概念。在Struts2中,表单标签通常与Action类中的属性相对应,用于在JSP页面上创建HTML表单元素。例如...
* <s:generator>:和 <s:iterator> 标签一起使用 H: * <s:head>:在 <head></head> 里使用,表示头文件结束 * <s:hidden>:隐藏值 I: * <s:i18n>:加载资源包到值堆栈 * <s:include>:包含一个输出,servlet ...
5. **Nested标签库**:这个库增强了其他Struts标签的嵌套能力,使得在复杂表单和布局中使用Struts标签更加方便。 Struts标签库的一个重要特性是它们支持属性的嵌套引用,这意味着可以使用`.`来访问对象的深层属性,...
开发者可以通过这个版本的文档和API来学习和使用Struts标签库。 6. **优势与注意事项** 使用Struts标签库能提高开发效率,减少JSP页面中的脚本代码,使页面更易于维护。然而,需要注意的是,随着Struts框架的发展...
总之,"Struts1.2基本标签使用视频"是一份对初学者和有一定经验的开发者都非常有帮助的学习资源。它将帮助你更好地理解和掌握Struts1.2框架中的核心标签,提高你在Java Web开发中的技能。通过深入学习和实践,你将...
如果验证失败,Struts2会自动显示错误消息,这些消息可以使用`struts:errors`标签来呈现。 在压缩包`Form_Tags_Struts2_Ant`中,可能包含了以下内容: 1. `struts.xml`:配置文件,定义了Action类和对应的Action ...
在使用Struts标签库时,还需要注意以下几点: 1. 引入标签库:在JSP页面中通过`<%@ taglib %>`指令引入相应的标签库。 2. 标签名和属性:理解每个标签的名称及其属性,合理设置属性值,以实现期望的功能。 3. 国际化...
4. `struts-nested.tld`:Nested标签库,用于处理嵌套属性,通常与Tiles框架一起使用,使得在JSP页面中可以方便地访问多层嵌套的Bean属性。 了解这些标签库后,开发人员可以更高效地构建视图层,减少Java代码在JSP...
4. 自动验证:Struts2的表单标签支持自定义验证规则,能够自动进行客户端和服务器端验证。 五、Struts标签手册 "Struts标签参考"和"Struts标签手册"提供了详细的标签使用指南,涵盖了所有可用的标签、属性及其用法...
- `struts_taglib`:这个目录可能包含了Struts1的标签库JAR文件,它是使用Struts1标签所必需的库。 了解并熟练掌握Struts1的标签库是提升Java Web开发效率的关键,通过合理的使用,能够有效地降低代码复杂度,提高...
Struts框架是Java Web开发中的一个关键组件,它主要用于构建MVC...了解和熟练掌握这些标签的使用,对于任何Struts开发者都是至关重要的。通过实践和探索,开发者可以更好地利用这些标签来构建高效、健壮的Web应用程序。
总结,Struts2的使用标签使得开发者能够更高效、简洁地构建Web界面,减少了手动编写JSP页面的工作量,提升了开发效率和代码质量。通过熟练掌握这些标签,可以更好地利用Struts2框架进行Web应用开发。