如何通过“设置参数”;“结果”;在struts2中标记并在生成的模板jsp中检索它
我有一个工作流,需要在其中呈现异常页面。但是这个异常页面是通用的,可以在各种情况下调用。我需要在每个异常页面中显示一些自定义文本。所以我想我可以在result标记中设置一些“param”&它将在最终的jsp页面中自动可用。但我无法检索(或设置)它。这是我的相关代码- struts.xml-如何通过“设置参数”;“结果”;在struts2中标记并在生成的模板jsp中检索它,jsp,struts2,scope,jsp-tags,Jsp,Struts2,Scope,Jsp Tags,我有一个工作流,需要在其中呈现异常页面。但是这个异常页面是通用的,可以在各种情况下调用。我需要在每个异常页面中显示一些自定义文本。所以我想我可以在result标记中设置一些“param”&它将在最终的jsp页面中自动可用。但我无法检索(或设置)它。这是我的相关代码- struts.xml- <global-results> <result name="TV_ACCESS_NOT_ALLLOWED"> <param name=
<global-results>
<result name="TV_ACCESS_NOT_ALLLOWED">
<param name="location">/jsp/base/exception/accessNotAllowedException.jsp</param>
<param name="appDisplayName">Television</param>
</result>
<result name="RADIO_ACCESS_NOT_ALLLOWED">
<param name="location">/jsp/base/exception/accessNotAllowedException.jsp</param>
<param name="appDisplayName">Radio</param>
</result>
</global-results>
/jsp/base/exception/accessNotAllowedException.jsp
电视机
/jsp/base/exception/accessNotAllowedException.jsp
无线电
在我的JSP页面中,我尝试了以下选项-
<gs:property value="%{appDisplayName}" />
<gs:property value="#appDisplayName" />
<gs:property value="appDisplayName" />
<gs:property value="%{param.appDisplayName}" />
<gs:property value="#param.appDisplayName" />
<gs:property value="param.appDisplayName" />
他们都没有工作。若你们能给我指出正确的方向,我将不胜感激。还有一种方法可以打印当前上下文中可用的所有变量,包括会话、页面、请求范围吗
更新
我最终通过在父操作中设置变量解决了这个问题,这最初触发了异常。我本来不想这样做,因为我不想污染父操作,但我修改了模板以处理正常的事务流,以使用新变量 为此目的使用全局异常映射不是结果,您需要一个结果,但解决结果的是异常映射。请参见此处: 我不确定,但我会手动打印出我想要的内容,#会话是可迭代项的映射,因此以下内容应该可以工作(未经测试): 来自会话的
会话密钥:
您需要为#应用程序#请求#页面执行上述操作。。。不管怎样
如果您不介意json,这是一种更简单的方法。。。创建一个包含所有json结果类型所需的“Aware”接口的操作(使用struts2 json插件)。真正好的是,json插件将序列化这些对象的所有公共成员,无论嵌套有多深 为此目的使用全局异常映射不是结果,您需要一个结果,但解决结果的是异常映射。请参见此处: 我不确定,但我会手动打印出我想要的内容,#会话是可迭代项的映射,因此以下内容应该可以工作(未经测试): 来自会话的
会话密钥:
您需要为#应用程序#请求#页面执行上述操作。。。不管怎样
如果您不介意json,这是一种更简单的方法。。。创建一个包含所有json结果类型所需的“Aware”接口的操作(使用struts2 json插件)。真正好的是,json插件将序列化这些对象的所有公共成员,无论嵌套有多深 你能找到解决办法吗?是的@我使用了原始问题更新部分提到的解决方案。你能找到解决方案吗?是的@我使用了原始问题更新部分提到的解决方案。
<h1>From Session</h1>
<s:iterator value="#session">
Session Key: <s:property/>
<ol>
<s:iterator>
<li><s:parameter/></li>
</s:iterator>
</ol>
</s:iterator>