- 浏览: 152115 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
mengshan007:
material:CHP1\/8\-100\-R8* q 我带 ...
Apache Solr 架设搜索服务器 学习笔记 -
bzlring:
怎么从org json字符串转换为 java对象呢?
Java下的json解析工具 -
adsl123gg2008:
貌似没看懂............
hibernate session 的缓存作用 -
Loulley:
<?xml version="1.0" ...
java生成xml -
pengzheng00:
结果是{"name":"reiz ...
Java下的json解析工具
本文 来自:http://hain.iteye.com/blog/150669
ActionMessages以一个HashMap存储ActionMessage.Map中的key是一个标识,其对应的value是一个List对象,所有的ActionMessage存储在List中.也就是说key标识了一组ActionMessage.
先介绍涉及到的类中的几个常用方法,然后给出几个示例代码,帮助理解.
- ActionMessage
- ActionMessage(String key)
该方法接受一个字符串,字符串是在资源文件种配置的key值,必须在配置文件中进行相关配置. - ActionMessage(String key,Object value)
ActionMessage(String key,Object value0,Object value1)
ActionMessage(String key,Object value0,Object value1,Object value2)
ActionMessage(String key,Object value0,Object value1,Object value2,Object value3)
上面4个方法第一个参数同样是资源文件中配置的key值,同样必须在配置文件中进行相关配置.后面的参数为资源文件中key所对应的信息中需要的参数 - ActionMessage(String key,Object[] values)
这种方法第一个参数同上,第二个参数接受一个Object数组,其中保存key在资源文件中对应信息需要的参数. - ActionMessage(String msg,false 这个方法显示自定义消息,即消息输出内容为msg。
- ActionMessage(String key)
- ActionMessages
- ActionMessages.add(String property,ActionMessage message)
第一个参数property对应于<html:messages>标签中的property属性,具体使用方法在后面介绍. property的值一般采用ActionMessages类中的静态常量ActionMessages.GLOBAL_MESSAGE,也可以自己定义一个key.该方法执行时,先判断ActionMessages中有没有该key,如果没有就新添加对key-List键值对;如果有同样的key,就先获取该key对应的Value并转换为List对象,然后将(ActionMessage)message添加进List对象中.
- ActionMessages.add(ActionMessages ams)
该方法将参数中保存的ActionMessage合并到调用ActionMessages中.
- ActionMessages.add(String property,ActionMessage message)
- Action及其所有子类
- addMessages(HttpServletRequest request,ActionMessages messages)
该方法首先检查request对象中是否有ActionMessages对象,如果有对象,则将接收的ActionMessages合并到request中,如果没有,用setAttribute(Globals.MESSAGE_KEY,messages)方法将messages添加进去.如果一个Action中需要显示多条错误信息,推荐使用该方法.(Globals.MESSAGE_KEY = "org.apache.struts.action.ACTION_MESSAGE") - saveMessages(HttpServletRequest request,ActionMessages messages)
该方法保存messages时,如果request中已经有一个ActionMessages对象,则用新的覆盖原有的.不推荐使用该方法,该方法容易发生丢失信息的情况. - addErrors()和saveErrors()
这两个方法与addMessages()和saveMessages()相似,不过在HttpServletRequest.setAttribute()时的参数不一样,这两个方法是:setAttribute(Globals.ERROR_KEY,messages)添加的.(Globals.ERROR_KEY = "org.apache.struts.action.ERROR")
- addMessages(HttpServletRequest request,ActionMessages messages)
在request中添加的ActionMessages在页面显示时,用<html:messages>标签进行显示,下面介绍一下该标签和经常配套使用的<logic:messagePresent>标签.
<html:messages>
下面给出一段代码,帮助大家理解,这里只写了关键代码.
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"/>
id | 必须指定id属性.<html:messages>标签作用是遍历ActionMessages对象中的所有 ActionMessage.类似<logic:iterator>,每次循环都定义一个名称为id指定的页面范围的bean,然后用 <bean:write>标签进行输出. |
bundle | 绑定一个MessageResources,不指定的时候从上下文中配置的资源中检索.一般不指定bundle属性. |
locale | 指定本地化信息,不指定时和Session的本地化信息相同,一般不用指定. |
name | 指定ActionMessages对象在request中的key.不指定时,默认用 GLOBALS.ERROR_KEY="org.apache.struts.action.ERROR",用Action.addMessages()方法添加的信息将不 被显示,用Action.addErrors()方法添加的信息才会被显示.一般不指定. |
property | 指定哪些ActionMessage将被显示,与ActionMessages.addMessage(String property,ActionMessage am)中的property参数相对应.不指定的时候显示所有信息. |
header | 指定一个资源信息key,在显示ActionMessages前打印到页面上,可选. |
footer | 指定一个资源信息key,在显示完ActionMessages后打印到页面上,可选. |
message | 取值为true/false,默认为false.为false或不指定时,在request中查找key=Globals.ERROR_KEY的ActionMessages bean.当该属性设置为true时,在request中查找key=Globals.MESSAGE_KEY的ActionMessages bean,同时name属性的值将被忽略. 注:true显示 this.addMessages(request,messages); 里面的消息,false显示 this.addErrors(request, messages);消息。 |
<html:messages>的message属性如果设定为true,会输出ActionMessages中所储存的讯息,Message表示一个提示讯息,也许使用者输入了不正确的资讯,例如在输入名称与密码时打错了字,程式要提示使用者他们输入了不正确的讯息。
<html:messages>的message属性如果不设定为true,会输出ActionErrors中所储存的讯息,Error代表的是一个操作方面的错误,例如错误操作导致使用者名称或密码为空(当然也许也是故意的)。
<logic:messagesPresent>和<logic:messagesNotPresent>标签,只支持message,name,property3个属性,作用和<html:messages>相同,就不再介绍
下面给出一段代码,帮助大家理解,这里只写了关键代码.
1. Action 类中的部分代码:
ActionMessages ams = new ActionMessages();
ams.add(ActionMessages.GLOBAL_MESSAGE,
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,
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",
errorMessages.add("error",
new ActionMessage("addErrors : error message",false));
errorMessages.add("info",new ActionMessage("addErrors : info message",false));
this.addErrors(httpServletRequest,errorMessages);
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"/>
</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"/>
</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
-->
</html:messages>
<!-- 这段代码的输出结果为:
addMessages : info message
-->
发表评论
-
hibernate 集合映射
2009-10-14 14:43 781<hibernate-mapping> ... -
hibernate session 的缓存作用
2009-04-25 19:33 1817hibernatel 的三大作用: 每一个是: 减少仿 ... -
one to one 维一外键关联
2009-04-18 10:20 897hibernate一对一唯一外键关联映射(单向关联Person ... -
one to one 主键关联
2009-04-18 10:11 858<?xml version="1.0" ... -
one to many 双向关联
2009-04-18 10:08 820hihernate一对多关联映射(双向Classes<- ... -
one to many 单向
2009-04-18 10:00 1213hihernate一对多关联映射(单向Classes----- ... -
many to many 单向
2009-04-18 09:54 1020hibernate多对多关联映射(单向User----> ... -
many to many 双向
2009-04-18 09:51 766<?xml version="1.0" ... -
many to one
2009-04-18 01:21 1792hibernate.cfg.xml <?x ... -
hibernate 代理类错误lazyinitializationexception
2009-04-06 13:34 831lazyinitializationexception cou ... -
hibernate 一对一的主键映射 单向
2009-03-29 22:26 740其中最重要的还是***.hbm.xml 现在是一个人与一个 ... -
hibernate 一对多的映射
2009-03-29 20:26 973今天学了HIBERNATE的一对多的 关系,嗯它真的太好了,很 ... -
hibernate 实现分页
2009-03-28 16:43 696//Query 分页 public void testQue ... -
hibernate 的 save 或update 用一种ID对象
2009-03-28 15:46 882在save 前 如果new 的 User 与数据库里的id是一 ... -
hibernate get 和load 查询 区别
2009-03-28 15:13 1057hibernate 二种方法来select 的不同之处 get ... -
hibernate 生成一条数据 三种状态
2009-03-28 14:01 809hibernate 持久层有三种状态 transient ... -
hibernate dialect 方言错误
2009-03-28 12:57 1187一个错还找了我一天,啊,就是Hibernate 方言, &l ... -
hiber初步学习
2009-03-22 15:14 889以前学过Hiblernate 但现在忘的机乎是忘的干干净净了, ...
相关推荐
1、struts国际化的配置 * 在struts-config.xml文件中加入: 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale...
Struts框架是Java Web开发中常用的MVC框架之一,它为开发者提供了一种结构化、易于维护的应用程序构建方式。在Struts中,ActionForm类是处理用户输入数据的核心组件,它封装了请求参数并负责业务逻辑验证。本文将...
Struts框架作为Java Web应用开发的经典框架之一,提供了一套成熟的解决方案来处理这个问题——即所谓的令牌(token)机制。 #### 什么是令牌机制? 令牌机制是Struts框架用于防止表单重复提交的一种手段。其基本...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在国际化(i18n)方面,Struts1提供了强大的支持,使得应用程序可以适应不同语言和地区的用户需求。以下是关于Struts1.x国际化...
Struts提供了ActionError和ActionMessages机制来处理异常,可以将错误信息传递到视图进行显示,增强了错误处理的能力。 9. **Struts 1与Struts 2的区别** Struts 2是Struts 1的升级版,引入了更多现代Web开发的...
Struts是Java Web开发中的一款经典MVC框架,由Apache软件基金会维护。它极大地简化了企业级应用的构建,提供了一种结构化的控制层实现,使得开发者能够更专注于业务逻辑而不是页面流转。本资料包主要关注的是Struts...
Struts提供了ActionError和ActionMessages机制来处理验证错误,以及全局的异常处理器来捕获并处理程序运行时可能出现的异常。 总结来说,使用Struts技术实现留言和发帖功能,主要包括以下几个步骤: 1. 创建Action...
Struts 是一个经典的Java Web开发框架,用于构建MVC(Model-View-Controller)架构的应用程序。它简化了处理用户请求、数据验证和业务逻辑的流程。本文档将深入讲解Struts中的`ActionErrors`和`ActionMessages`,...
Struts1是一个经典的Java Web开发框架,它在处理MVC(模型-视图-控制器)架构方面具有广泛的应用。在国际化(i18n)和本地化(l10n)方面,Struts1提供了很好的支持,使得应用程序能够适应不同地区的用户需求。下面...
Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建企业级Java Web应用程序。在Struts2框架中,ActionError和ActionMessage是处理用户输入验证和错误反馈的重要组件,它们使得开发者能够优雅地管理应用程序...
8. **异常处理**:Struts1提供了ActionError和ActionMessages机制来处理错误和消息。开发者可以在Action中抛出异常,框架会捕获并显示给用户,确保应用程序的健壮性。 9. **验证框架**:通过Validator插件,Struts1...
Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发中。在实际项目中,数据验证和国际化是两个至关重要的环节。数据验证确保了从客户端提交的数据是完整且正确的,而国际化则允许应用程序为...
Struts1.x是一个经典的Java Web框架,由Apache软件基金会开发,用于构建企业级的MVC(Model-View-Controller)应用程序。它简化了Java Servlet、JSP和JavaBeans的使用,提高了开发效率并增强了应用的可维护性。SQL ...
Struts是Java Web开发中的一个流行MVC框架,SSH(Spring、Struts、Hibernate)是其常见的集成解决方案。Struts的国际化(Internationalization,简称i18n)功能允许开发者为不同地区的用户提供本地化的界面和内容,...
8. **异常处理**:Struts提供了ActionError和ActionMessages,用于处理应用程序中的错误和消息。全局异常处理器可以捕获并统一处理未被捕获的异常。 9. **Struts标签库**:除了基本的HTML标签,Struts还提供了一套...
8. **异常处理**:Struts 1.1提供了ActionError和ActionMessages机制,用于处理和展示业务逻辑中的异常信息。开发者可以通过配置ActionMapping中的`exception`元素来定义全局或特定异常的处理策略。 9. ** Tiles...
Struts1是一个经典的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,主要用于构建企业级的Web应用程序。在这个项目中,“struts1+jsp登录注册全部代码 连接sqlserver2008数据库”展示了如何使用...
Struts1是一个经典的Java Web开发框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。在本示例中,“struts1架构登录代码”是一个基于MyEclipse的Struts1实现的登录功能的实例。这个项目,名为...
- Struts1提供了ActionError和ActionMessages机制来处理用户输入验证错误,可以通过配置文件定义全局错误页面,提高应用的健壮性。 8. **国际化和本地化**: - Struts1支持多语言,可以在资源文件中定义不同语言...