`

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

阅读更多

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

 

struts.xml中配置如下:

<struts>
	<constant name="struts.devMode" value="true" />
	<package name="default" namespace="/" extends="struts-default">
		<action name="getvalue" class="example.GetValueAction">
			<result type="chain">
				<param name="actionName">getvalue2</param>
				<param name="namespace">/</param>
			</result>
		</action>

	</package>
	<package name="222" namespace="/" extends="struts-default">
		<action name="getvalue2" class="example.GetValue2Action">
			<result>/result.jsp</result>
		</action>
	</package>

</struts>

 

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

第一个action部分代码如下:

public class GetValueAction extends ActionSupport {
	private static final long serialVersionUID = 4865100826143278474L;
	
	@Override
	public String execute() throws Exception {
		String actionMessage="aaa";//你自己需要设置的message
		addActionMessage(actionMessage);
		return super.execute();
	}

}

 

原因分析:

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

 

分享到:
评论

相关推荐

    Struts2-ActionError-ActionMessage-Example

    Struts2-ActionError-ActionMessage-Example

    Struts2&ActionError&ActionMessage&Demo

    Struts&ActionError&ActionMessage&Demo 的小例子

    Spring面试题

    在对由三部分组成的 Spring 系列 的第 1 部分进行总结时,我使用了一个示例,演示了如何通过 Spring IOC 容器注入应用程序的依赖关系(而不是将它们构建进来)。 我用开启在线信用帐户的用例作为起点。对于该实现,...

    struts2 标签库 帮助文档

    action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 debug:生成一个调试链接,当单击该链接时,可以看到...

    Struts2+API+标签全解+网页说明

    action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 debug:生成一个调试链接,当单击该链接时,可以看到...

    低清版 大型门户网站是这样炼成的.pdf

    2.5.1 在action中实现手动校验 90 2.5.2 调用校验框架进行自动校验 91 2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带校验器 92 2.6 struts 2的拦截器 94 2.6.1 struts 2内建拦截器介绍 95 ...

    一个利用struts做的简单国际化

    1、struts国际化的配置 * 在struts-config.xml文件中加入: 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale...

    jsp编写的网上书店

    public class addUserAction extends Action{ /** * 在此方法中处理HTTP请求数据,并作响应 */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, ...

    Struts简介 什么是Struts Struts基本运作流程

    Struts简介 什么是Struts Struts基本运作流程 ActionMapping类 Action类 ActionForm类 ActionError与ActionMessage 协同开发 模块化程序 Struts异常处理 Struts国际化支持 PlugIn接口 等等

    JSP_struts2标签大全

    JSP_struts2标签大全 1.a 3 2.action 3 3. actionerror 4 4. actionmessage 5 5. append 5 6. bean 7 7.checkbox 7 8.checkboxlist 8 9. combobox 9 10. conponent 9 11. date 11 12. datetimepicker 12 13. debug ...

    struts标签

    struts的相关只是回顾和ui标签的使用,以及actionmessage的使用方法以及友好信息提示

Global site tag (gtag.js) - Google Analytics