深入探讨struts的ActionMessages消息机制
2007-11-22 10:23:01
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://leaze.blog.51cto.com/83088/51750 | ||||||||||||||||
在介绍ActionMessages前,我觉得有必要先介绍一下ActionMessages的数据结构.理解了其数据结构有助于理解相关的各种操作.
ActionMessages以一个HashMap存储ActionMessage.Map中的key是一个标识,其对应的value是一个List对象,所有的ActionMessage存储在List中.也就是说key标识了一组ActionMessage.
先介绍涉及到的类中的几个常用方法,然后给出几个示例代码,帮助理解.
在request中添加的ActionMessages在页面显示时,用<html:messages>标签进行显示,下面介绍一下该标签和经常配套使用的<logic:messagePresent>标签.
<html:messages>
<logic:messagesPresent>和<logic:messagesNotPresent>标签,只支持message,name,property3个属性,作用和<html:messages>相同,就不再介绍
下面给出一段代码,帮助大家理解,这里只写了关键代码. 1. Action 类中的部分代码:
ActionMessages ams = new ActionMessages();
ams.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("addMessages : global message",false));
ams.add("error",new ActionMessage("addMessages : error message",false)); ams.add("info",new ActionMessage("addMessages : info message",false)); this.addMessages(httpServletRequest,ams); ActionMessages errorMessage = new ActionMessages(); errorMessages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("addErrors : global message",false));
errorMessages.add("error", new ActionMessage("addErrors : error message",false)); errorMessages.add("info",new ActionMessage("addErrors : info message",false)); this.addErrors(httpServletRequest,errorMessages); 2. JSP文件中的部分代码: <html:messages id="message"> <bean:write name="message"/> <br/> </html:messages> <!-- 上面代码的输出结果: addErrors : global message addErrors : error message addErrors : info message --> <html:messages id="message" property="info"> <bean:write name="message"/> <br />
</html:messages> <!-- 这段代码的输出结果为: addErrors : info message --> <html:messages id="message" message="true"> <bean:write name="message"/> <br />
</html:messages> <!-- 这段代码的输出结果: addMessages : global message addMessages : error message addMessages : info message --> <html:messages id="message" message="true" property="info"> <bean:write name="message"/> <br /> </html:messages> <!-- 这段代码的输出结果为: addMessages : info message --> 如果结合上<logic:messagesPresent>标签,将可以做出自由度很高的错误信息显示效果,具体如何表现这里就不在细说了.<logic:messagePresent>的使用方法大家自己体会,我相信大家掌握了<html:messages>,一定能驾驭<logic:messagesPresent>
对struts的ActionMessages的讨论就到这里,希望这篇文章能对广大刚接触struts的朋友们有所帮助. 本文出自 “立子” 博客,请务必保留此出处http://leaze.blog.51cto.com/83088/51750 本文出自 51CTO.COM技术博客 |



leaze
博客统计信息
热门文章
最新评论
友情链接