关于struts:errors标签的几点使用心得和经验
来源:互联网 发布:网络视频栏目组招聘 编辑:程序博客网 时间:2024/05/27 12:21
关于<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:errors标签的几点使用心得和经验
- 【struts】html:errors标签的使用
- 关于VC6.0的几点使用经验
- FCKeditor的几点重要改进和使用心得
- 关于数据获取的几点经验
- BlackBerry_JDE_PluginFull的几点使用心得
- 几点Session使用的经验
- 关于android include标签使用的一点心得和疑惑
- 关于如何使用动态域名在个人电脑搭建个人网站的几点经验
- 关于git和maven使用的几点思考
- FCKEditor几点使用心得
- 值得看的几点关于cakephp的经验
- 使用Tomcat的一些经验和心得
- 【Django】{% if %}标签和循环输出列表的经验心得
- 关于struts的valuestack的几点思考
- 关于现场软件安装的几点经验小结
- 关于css控制ul li的几点经验
- 关于设计模式的几点经验分享
- Excel编程——WorkSheet的名称
- 返回上一页面(后退)
- 本地数据库被锁定怎么解决?
- 最全的Vista破解激活工具——成功激活并通过正版验证
- javascript之DOM技术(一)
- 关于struts:errors标签的几点使用心得和经验
- 对clob字段的操作
- Mysql字符串函数收集
- DisplayTag应用指南
- Baidu 优化和排名技术
- vista正版序列号下载
- 头像咋不支持gif动画的?还严格要求尺寸?
- 磁盘管理——服务数据库已锁定
- jquery 和 pototype 在.net中应用广泛吗?