ActionMessage、ActionMessages、saveMessages()、
saveErrors()、之间的关系及用法
ActionMessage
功能是
:用来产生STRUTS消息的包括正常消息和错误消息。注(原有ActionError方法来产生错误消息,但已
废弃,但仍可使用。)例:ActionMessage(key,object);其中key为在appication.properties中指的key
值。object为消息中要传入的参数,这里实现了动态传入。如果要传多个参数时,object处可以改为数组。
ActionMessages
功能
:是作为容器(map)来存ActionMessage的。例::ActionMessages ams=new
ActionMessages(). ams.add("id",ActionMessage).
saveErrors功
能
:是用来存储ActionMessages,例:saveErrors(ActionMessages,scope)
这里有个隐性的error_key
作为KEY与ActionMessages对应。
scope值为:application,session,request,page.默认为page范围。
saveMessages
功能
:是用来存储ActionMessages,
例:saveMessages(ActionMessages,scope)这里有个隐性的message_key
作
为KEY与ActionMessages对应。scope值为:application,session,request,page.默认为page范
围。
取出
ActionMessage消息STRUTS提供了两种标签
:
1.<html:errors/>
意
思是从page范围(范围由小到大从page到application)开始以error_key为key寻找ActionMessages,要取具体的
ActionMessage可以用<html:errors property="id "/>
2.<html:message
id="var "/><bean:write name="var"/>
意思是迭代找出所有
ActionMessage赋值给var,然后通过bean标签输出。要取具体的ActionMessage可以用<html:message
id="var " property="id"/><bean:write
name="var"/>,这里html:message标签有个默认message属性,它的默认值为false,代表以error_key为
key取出ActionMessages.设为true时代表以message_key为key取出ActionMessages
.它与<html:errors/>
的主要区别是,它可以取
正常消息或错误消息(即以error_key或message_key为KEY),通过设置message属性true或false来实现。
以上这些过程的实现都是通过操作(page到application)四个范围当中的attribte属性为实现的。
分享到:
相关推荐
1、struts国际化的配置 ... 理解ActionMessage和ActionMessages两个对象的区别 如何传递国际化消息? * 调用saveMessage()传递普通消息 如何显示国际化消息? 通过标签显示消息(可以显示普通消息和错误消息)
- 添加错误:在Action类中,你可以创建一个ActionError实例,然后使用`addActionError()`方法将其添加到ActionContext中。例如: ```java ActionErrors errors = new ActionErrors(); errors.add("username", ...
在Struts2中,`ActionError`和`ActionMessage`是两个重要的概念,它们用于处理用户界面与控制器之间的错误信息和成功消息传递。这两个类是Struts2提供的一种灵活的方式来管理验证失败或操作成功时的反馈信息。 **...
标题“使用chain方式,在第二action中获取第一个action中actionMessage”所涉及的知识点主要集中在Struts的ActionChain配置和Action之间的通信。ActionChain允许我们串联多个Action,使得一个请求可以触发一系列的...
在Action中,使用`saveErrors(HttpServletRequest, ActionErrors)`或`saveMessages(HttpServletRequest, ActionMessages)`方法将错误或消息保存到请求范围内,以便在JSP页面中访问。在JSP页面,使用相应的标签从...
- 通过调用`saveErrors`方法将`ActionMessages`对象中的错误信息保存到请求范围(request scope)中。 - 示例代码: ```java saveErrors(request, response, messages); ``` - **页面显示:** - 使用`...
ActionErrors是Struts提供的一个集合类,它继承自ActionMessages,用于存储ActionMessage对象。 ActionMessage是一个简单的容器,它持有错误消息的键值,这些键值通常对应于资源文件中的字符串,以便支持多语言环境...
其基本原理是在客户端与服务器之间传递一个随机生成的唯一标识符(即令牌),通过对比客户端提交时携带的令牌与服务器端存储的令牌是否一致来判断请求是否有效。如果令牌匹配,则认为是合法请求;反之,则拒绝该请求...
`ActionMessage`则是在Action类中使用的,用于将消息传递到视图层。 3. **创建Resource Bundle**: 为了支持多语言,你需要为每种语言创建一个对应的.properties文件,例如`messages_en.properties`(英语)和`...
- **错误消息处理**: 使用 `ActionMessages` 来管理错误消息,并通过 `ActionMessage` 定义具体的错误提示信息。 - **转向页面**: 根据不同的处理结果,返回不同的 `ActionForward` 对象,以实现页面跳转。 #####...
2. **在Action中设置消息**:在Action类的execute方法中,你可以创建ActionMessage或ActionErrors对象,并设置消息,例如: ```java ActionMessages messages = new ActionMessages(); messages.add("greeting", ...
在Action中,我们可以使用`ActionMessages`添加消息,并通过`saveMessages`方法保存到请求上下文中。在JSP页面上,使用`<html:messages>`标签来显示这些消息。 ```java ActionMessages messages = new ...
ActionMessages messages = new ActionMessages(); boolean flag = true; if (fileForm.getName().equals("")) { flag = false; messages.add("nameerror", new ActionMessage("name.error")); } if ...
ActionMessages messages = new ActionMessages(); boolean flag = true; // 验证表单数据 if (fileForm.getName().equals("")) { flag = false; messages.add("nameerror", new ActionMessage("name.error")...
在Action类中,可以通过`ActionMessage`和`ActionErrors`对象来获取和显示错误及消息。例如,可以使用以下代码添加一个国际化消息: ```java ActionMessages messages = new ActionMessages(); messages.add("info",...
3. 在Action中使用`ActionMessages`或`ActionErrors`添加和显示消息。 4. 在JSP中使用Struts标签显示本地化消息。 5. 实现语言切换功能,动态改变资源文件的加载。 通过这些步骤,开发者可以轻松地为SSH框架的Web...
它通过定义Action类来处理用户请求,ActionForm类存储用户输入的数据,并通过配置struts-config.xml文件来指定Action和ActionForm之间的关联。视图通常由JSP页面构成,用于显示数据和接收用户输入。 在登录验证的...
errors.add("globalError", ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.loginFailed")); saveErrors(request, errors); ``` 在JSP页面中: ```jsp ``` 4. **处理用户请求**:WebWork会自动...
每个包可以包含多个Action,并且可以配置这些Action的执行顺序以及它们之间的关系。Struts包的概念类似于其他框架中的模块或命名空间,但更专注于控制层的逻辑组织。 #### 三、示例代码解析 给定的代码片段展示了...
优化 Hibernate 的方法包括使用双向一对多关联,不使用单向一对多、灵活使用单向一对多关联、不用一对一,用多对一取代、配置对象缓存,不使用集合缓存、一对多集合使用 Bag,多对多集合使用 Set、继承类使用显式...