`
y806839048
  • 浏览: 1120586 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

<s:actionmessage/>的使用chain应注意的问题(二)

阅读更多

使用chain方式,在第二action中获取第一个action中actionMessage

 

为什么采用chain 方式时,没有复制Errors, Field errors and Message?

 struts2.0这个低版本的默认会带过去

struts.xml中配置如下:

Xml代码  收藏代码
  1. <struts>  
  2.     <constant name="struts.devMode" value="true" />  
  3.     <package name="default" namespace="/" extends="struts-default">  
  4.         <action name="getvalue" class="example.GetValueAction">  
  5.             <result type="chain">  
  6.                 <param name="actionName">getvalue2</param>  
  7.                 <param name="namespace">/</param>  
  8.             </result>  
  9.         </action>  
  10.   
  11.     </package>  
  12.     <package name="222" namespace="/" extends="struts-default">  
  13.         <action name="getvalue2" class="example.GetValue2Action">  
  14.             <result>/result.jsp</result>  
  15.         </action>  
  16.     </package>  
  17.   
  18. </struts>  

 

第一个action(getvalue) 通过chain的方式把请求传递到第二个action(getvalue2),可是在第二个action无法获取第一个action中设置的actionMessage,当然在result.jsp中使用 <s:actionmessage/>也无法获取正确的值。

第一个action部分代码如下:

Java代码  收藏代码
  1. public class GetValueAction extends ActionSupport {  
  2.     private static final long serialVersionUID = 4865100826143278474L;  
  3.       
  4.     @Override  
  5.     public String execute() throws Exception {  
  6.         String actionMessage="aaa";//你自己需要设置的message  
  7.         addActionMessage(actionMessage);  
  8.         return super.execute();  
  9.     }  
  10.   
  11. }  

 

原因分析:

采用chain方式时,Errors, Field errors and Message 默认不会复制到第二个action,必须手动指定:

 

struts.xwork.chaining.copyErrors - 设置为true ,可以复制 Action Errors 到第二个action;

struts.xwork.chaining.copyFieldErrors - 设置为true ,可以复制 Field Errors 到第二个action;

struts.xwork.chaining.copyMessages - 设置为true ,可以复制 Action Messages到第二个action;

 

解决方法:

在struts.xml中 添加:

<constant name="struts.xwork.chaining.copyErrors" value="true" />

<constant name="struts.xwork.chaining.copyFieldErrors" value="true" />

<constant name="struts.xwork.chaining.copyMessages" value="true" />

分享到:
评论

相关推荐

    struts 2 s标签 struts 2 s标签

    &lt;s:actionmessage /&gt; ``` 5. **s:append** - 迭代器辅助标签 `s:append` 用于合并多个迭代器中的内容。它创建一个新的迭代器,包含所有指定迭代器的元素: ```jsp &lt;s:append id="myAppendIterator"&gt; &lt;s:param...

    struts2 标签库 帮助文档

    5. &lt;s:actionmessage/&gt;-----如果action的message有值那么显示出来 6. &lt;s:append&gt;&lt;/s:append&gt;-----添加一个值到list,类似于list.add(); 7. &lt;s:autocompleter&gt;&lt;/s:autocompleter&gt;-----自动完成&lt;s:combobox&gt;标签的...

    Struts2标签梳理

    4. **actionmessage标签**:`&lt;s:actionmessage&gt;` 显示Action级别的普通消息或提示信息,与`addActionMessage`方法配合使用: ```jsp &lt;s:actionmessage /&gt; ``` 5. **append标签**:`&lt;s:append&gt;` 是一个辅助标签,...

    Struts2标签列表及说明

    * &lt;s:actionmessage&gt;:如果 action 的 message 有值那么显示出来 * &lt;s:append&gt;:添加一个值到 list,类似于 list.add(); * &lt;s:autocompleter&gt;:自动完成 &lt;s:combobox&gt; 标签的内容,这个是 AJAX 实现的 B: * &lt;s:...

    struts2-s标签

    `&lt;s:actionerror/&gt;` 和 `&lt;s:actionmessage/&gt;` 这两个标签分别用于显示 `ActionErrors` 和 `ActionMessages` 的内容,它们通常用于向用户反馈表单验证或操作结果的信息。 **示例:** ```xml &lt;s:actionerror/&gt; &lt;s:...

    struts2标签库

    4. `&lt;s:actionmessage/&gt;`:如果Action中的全局消息有值,则显示这些消息。 5. `&lt;s:append&gt;&lt;/s:append&gt;`:向列表中添加一个值,等同于Java的`list.add()`操作。 6. `&lt;s:autocompleter&gt;&lt;/s:autocompleter&gt;`:实现自动...

    struts2常用标签

    `&lt;s:actionerror/&gt;` 和 `&lt;s:actionmessage/&gt;` - **功能**:分别用于显示Action中的错误信息和消息提示。 - **示例**: ```xml &lt;s:actionerror/&gt; &lt;s:actionmessage/&gt; ``` ##### 4. `&lt;s:append&gt;` —— 添加值到...

    Struts2常用标签

    - **用途**:与&lt;s:iterator&gt;标签一起使用,用于数据生成。 - **示例**: ```xml &lt;s:generator separator="," value="%{#list}" /&gt; ``` 22. **&lt;s:head&gt; 头部标签** - **用途**:在&lt;head&gt;标签内使用。 - **...

    struts2标签整理

    &lt;s:actionmessage/&gt; ``` ##### 5. `&lt;s:append&gt;` - 值追加标签 用于将一个值追加到列表中。 ```jsp &lt;s:append&gt; &lt;s:param value="newValue"/&gt; &lt;/s:append&gt; ``` ##### 6. `&lt;s:autocompleter&gt;` - 自动完成标签 这是一...

    struts2标签大全

    &lt;s:actionmessage/&gt; ``` #### 5. `&lt;s:append&gt;` - 添加到列表 用于向现有的列表中添加新的元素。 ```xml &lt;s:append var="myList" value="%{newElement}"/&gt; ``` #### 6. `&lt;s:autocompleter&gt;` - 自动完成 该标签...

    Struts2标签详解及具体实例解析

    4. `&lt;s:actionmessage/&gt;` - 显示Action的提示信息,通常用于用户交互反馈。 5. `&lt;s:append&gt;&lt;/s:append&gt;` - 向列表中添加一个值,等同于Java的`list.add()`操作。 6. `&lt;s:autocompleter&gt;&lt;/s:autocompleter&gt;` - 自动...

    ssh2实现登录注册

    `&lt;s:actionerror/&gt;` 和 `&lt;s:actionmessage/&gt;` 标签用于在视图层展示来自控制器层(Action)的消息。例如,如果Action中有以下代码: ```java if (username.isEmpty()) { addActionError("用户名不能为空"); } ``` ...

    struts2.0 标签清单

    &lt;s:actionmessage/&gt; ``` ### 4. `&lt;s:append&gt;` 标签 `&lt;s:append&gt;` 标签用于向列表中添加值,类似于在Java中调用`List.add()`方法。这在动态构建列表时非常有用。 ```xml &lt;s:append var="myList"&gt; &lt;s:property ...

    struts2.0的标签库

    &lt;s:label for="email"&gt;Email:&lt;/s:label&gt; ``` 创建一个与`email`输入框关联的标签。 29. **`&lt;s:merge&gt;`** - 合并多个列表。例如: ```jsp &lt;s:merge var="mergedList"&gt; &lt;s:property value="list1"/&gt; &lt;s:...

    struts2的s标签

    &lt;s:actionmessage/&gt; ``` - **说明**:用于显示Action执行后产生的消息。 5. **`&lt;s:append&gt;`** - 向列表中添加值。 - **示例**: ```jsp &lt;s:append var="myList"&gt; &lt;s:property value="item"/&gt; &lt;/s:append&gt; ...

    下面就介绍下Struts2每个标签的用法(有错请指正):

    &lt;s:actionmessage/&gt; ``` ##### 5. `&lt;s:append&gt;` 标签 - **用途**:向集合添加值。 - **示例**: ```xml &lt;s:append var="list" value="newValue"/&gt; ``` ##### 6. `&lt;s:autocompleter&gt;` 标签 - **用途**:自动...

    Struts 2.0 标签库简介.doc

    - `&lt;s:actionmessage/&gt;`: 显示Action级别的消息信息。 C. 数据输入与选择: - `&lt;s:checkbox&gt;`: 创建一个复选框。 - `&lt;s:checkboxlist list=""&gt;`: 用于创建一组可多选的复选框,列表来自于一个集合。 - `&lt;s:combobox...

    我见过的最详细的struts 2 标签整理.docx

    以上只是Struts2标签库中的一部分,实际使用中还有许多其他标签,如`&lt;s:textfield&gt;`(文本框)、`&lt;s:textarea&gt;`(文本域)、`&lt;s:submit&gt;`(提交按钮)等,它们极大地简化了JSP页面的编写,提高了开发效率。...

    Struts2标签库详解.doc

    4. `&lt;s:actionmessage/&gt;`:如果Action中的消息有值,会显示出来,通常用于提示用户操作成功的信息。 5. `&lt;s:append&gt;`:向列表中添加值,类似于Java的`list.add()`方法。 6. `&lt;s:autocompleter&gt;`:实现自动完成功能...

Global site tag (gtag.js) - Google Analytics