博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用chain方式,在第二action中获取第一个action中actionMessage
阅读量:7026 次
发布时间:2019-06-28

本文共 1543 字,大约阅读时间需要 5 分钟。

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

 

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" />

转载地址:http://bcmxl.baihongyu.com/

你可能感兴趣的文章
安装pytorch成功但cuda不可用
查看>>
unity__DrawCall的理解
查看>>
springboot架构下运用shiro后在configuration,通过@Value获取不到值,总是为null
查看>>
SQLServer 数据库镜像+复制切换方案
查看>>
Postman初探
查看>>
仿淘宝头像上传功能(一)——前端篇。
查看>>
Eclipse通过集成svn实现版本控制
查看>>
OS开发过程中常用开源库
查看>>
关于在多个UItextield切换焦点
查看>>
hdu 2768
查看>>
git记住用户名密码
查看>>
ElasticSearch(2)-安装ElasticSearch
查看>>
从mysql数据表中随机取出一条记录
查看>>
ORACLE 锁表处理,解锁释放session
查看>>
深海机器人问题
查看>>
正则表达式(括号)、[中括号]、{大括号}的区别小结
查看>>
88.NODE.JS加密模块CRYPTO常用方法介绍
查看>>
java.net.ProtocolException: Exceeded stated content-length of: '13824' bytes
查看>>
asp.net 连接 oracle10g 数据库
查看>>
C 入门 第十一节
查看>>