深入探讨struts的ActionMessages消息机制(转)
深入探讨struts的ActionMessages消息机制
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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();
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">
<br />
</html:messages> <!-- 这段代码的输出结果为: addErrors : info message --> <html:messages id="message" message="true">
<br />
</html:messages> <!-- 这段代码的输出结果: addMessages : global message addMessages : error message addMessages : info message --> <html:messages id="message" message="true" property="info">
<br /> </html:messages> <!-- 这段代码的输出结果为: addMessages : info message -->
如果结合上<logic:messagesPresent>标签,将可以做出自由度很高的错误信息显示效果,具体如何表现这里就不在细说了.<logic:messagePresent>的使用方法大家自己体会,我相信大家掌握了<html:messages>,一定能驾驭<logic:messagesPresent>
对struts的ActionMessages的讨论就到这里,希望这篇文章能对广大刚接触struts的朋友们有所帮助.
本文出自 “立子” 博客,请务必保留此出处http://leaze.blog.51cto.com/83088/51750
|
转载于:https://blog.51cto.com/j2eedev/169539
深入探讨struts的ActionMessages消息机制(转)相关推荐
- 动态的Objective-C——关于消息机制与运行时的探讨
2019独角兽企业重金招聘Python工程师标准>>> 动态的Objective-C--关于消息机制与运行时的探讨 一.引言 Objective-C是一种很优美的语言,至少在我使用其 ...
- 【腾讯Bugly干货分享】经典随机Crash之二:Android消息机制
为什么80%的码农都做不了架构师?>>> 本文作者:鲁可--腾讯SNG专项测试组 测试工程师 背景 承上经典随机Crash之一:线程安全 问题的模型 好几次灰度top1.top ...
- Handler消息机制(二):一个线程有几个Handler
在消息机制里面,有一个非常重要的东西,那就是Looper,Looper的作用主要是从消息队列里面取出消息交给Handler处理,不过不仅限于此,在这里面还有很多东西值得我们去源码看一看: 1.从Loo ...
- Android消息机制学习笔记
Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑: MessageQueue:消息队列,它的内存存储了一组消息,以队 ...
- WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口
原文:WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/powertoolsteam/ar ...
- iOS开发系列--通知与消息机制
http://www.cocoachina.com/ios/20150318/11364.html 概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣 ...
- Android消息机制Handler用法
这篇文章介绍了Android消息机制Handler用法总结,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 1.简述 Handler消息机制主要包括: Messa ...
- EJB与JAVA BEAN_J2EE的异步消息机制
EJB与JAVA BEAN_J2EE的异步消息机制 EJB与JAVA BEAN的区别 Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个 ...
- Android异步消息机制
2019独角兽企业重金招聘Python工程师标准>>> 目录介绍 1.Handler的常见的使用方式 2.如何在子线程中定义Handler 3.主线程如何自动调用Looper.pre ...
最新文章
- Redis源码解析——字典基本操作
- 抄代码的时候总是遇到原始数据应该长什么样的问题??
- 星光不问赶路人——任正非
- it程序员刷题 面试 中文网站收集
- 小程序加载本地图片路径问题
- ZeroMQ接口函数之 :zmq_msg_init_data - 从一个指定的存储空间中初始化一个ZMQ消息对象的数据...
- JSON处理1.1:100DaysOfJavaEE8
- swoole之代码热更新实现
- CV Code | 本周新出计算机视觉开源代码汇总(南理SGE 和Intel的实时动作识别很吸引人)...
- 通过debug过程分析Struts2什么时候将Action对象放入了值栈ValueStack中
- VUE3-Cesium(加载GeoJSON、KML、KMZ数据)
- 【转载】一文读懂MCMC算法原理
- 微信小程序图片上传并预览
- 项目集与项目群、项目组合的区别
- 说说用笔记本电脑的惨痛经历
- DedeCMS 栏目三级联动树形菜单的代码
- 关于8杯酒只有一杯酒有毒,每个人是否中毒只能化验一次,至少需要几个人辨识。...
- 【前端词典】分享 8 个有趣且实用的 API
- 2021年11月15日到2021年11月21日笔记
- 成功解决TypeError: Value passed to parameter 'paddings' has DataType float32 not in list of allowed valu
热门文章
- python程序如何循环_在Python的一段程序中如何使用多次事件循环详解
- 神经网络与机器学习 笔记—多层感知器(MLP)
- UVA10047独轮车
- 【数字信号处理】周期序列 ( 正弦序列特性 | 单个模拟周期采集 m 个数字样本 | Q 个模拟周期采集 P 个数字样本 | 非周期序列的情况 | 数字信号周期 )
- 【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )
- 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组遍历 | 二维数组排序 )
- 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )
- 【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 2 ) ★★
- MySql中常用的内置函数
- Yuan先生的博客网址