在Struts2中,当从成功的动作返回时,我希望用户浏览器向用户显示他正在导航的真实URL,而不是原始的号召性用语。据我所知,我不能使用type ="重定向" 操作,因为我需要从值堆栈中提取操作结果。
让我们说,例如,如果我定义一个动作来保存我的数据库中的新元素,然后我想让用户看到整个元素列表......:
<action name="doSavePage" class="FbPageAdmin" method="doSavePage" >
<result name="input">/pageadmin.jsp</result>
<result name="error">/pageadmin.jsp</result>
<result name="success">/pageList.jsp</result>
</action>
如果操作成功完成,我希望用户看到 mysite.com/pageList.jsp ,不是mysite.com/doSavePage.action
这可能吗?
提前感谢大家!
答案 0 :(得分:1)
为什么要显示JSP文件名?
无论如何,我不确定我理解;如果要在添加对象后显示对象列表,请重定向到“列表”操作(和/或方法)。无论如何,您应该在POST之后进行重定向(重定向后获取模式),以避免在刷新时重新提交相同的表单数据。
另外,理想情况下,JSP应位于/ WEB-INF下以禁止直接访问。