我有一个struts2页面,该页面使用<s:action>
和executeResult="true"
的共享操作向页面添加标题内容。但是,需要在 header 操作中完成一些处理,这需要检索实际页面的URL(也称为调用者页面)。但是如果我在头部动作的jsp中使用<s:url>
,它只会检索头部动作的URL。所以我想请各位专家来告诉我如何实现我想要的结果。
提前致谢。
答案 0 :(得分:0)
我不确定我是否会跟随...如果我没有回答你想要的东西,请随时纠正我。
但是,在调用<s:set>
之前,您应该能够将<s:action>
标记与适当的范围(可能是请求)一起使用,以使您需要的值可用于下一个操作。请参阅:http://struts.apache.org/2.2.1.1/docs/set.html
答案 1 :(得分:0)
我会考虑使用请求对象:
String referrer = request.getHeader("referer"); //referer spelling intentional
通过字符串操作做任何你需要的事情。
答案 2 :(得分:0)
以下就是我做的事情。
在主页面上,使用s:url
和s:set
获取当前网址和参数,并将其保存在请求范围内
<s:set name="pageurl" scope="request">
<s:url includeParams="none" encode="true"/>
</s:set>
<s:set name="pageparams" scope="request" value="#parameters"/>
在标题页上,您可以使用下面的
来检索它们 <form action="<s:property value='#attr.pageurl'/>" >
<s:iterator value="#attr.pageparams" var="param">
<s:hidden name="%{#param.key}" value="%{#param.value}" id="_header_%{#param.key}"/>
</s:iterator>
</form>