Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过“设置参数”;“结果”;在struts2中标记并在生成的模板jsp中检索它_Jsp_Struts2_Scope_Jsp Tags - Fatal编程技术网

如何通过“设置参数”;“结果”;在struts2中标记并在生成的模板jsp中检索它

如何通过“设置参数”;“结果”;在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=

我有一个工作流,需要在其中呈现异常页面。但是这个异常页面是通用的,可以在各种情况下调用。我需要在每个异常页面中显示一些自定义文本。所以我想我可以在result标记中设置一些“param”&它将在最终的jsp页面中自动可用。但我无法检索(或设置)它。这是我的相关代码-

struts.xml-

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