我想知道是否可以设置适用于struts2中每个操作的默认结果。
例如,假设结果“FOO”将始终重定向到操作BAR或jsp“BAR.jsp”,而不是将<result name="FOO">xxx</result>
添加到我定义的每个操作中...
这将有助于我创建一个通用的错误页面
由于
答案 0 :(得分:2)
是的,您可以为包设置全局结果。
<global-results>
<result name="error">/Error.jsp</result>
<result name="invalid.token">/Error.jsp</result>
<result name="login" type="redirectAction">Logon!input</result>
</global-results>
有关详细信息,请参阅Result Configuration Page
答案 1 :(得分:1)
我想到的一个快速解决方案是全局结果配置。通常,结果与action元素嵌套。但是一些结果适用于多个动作。在安全的应用程序中,客户端可能会尝试在未经授权的情况下访问页面,并且许多操作可能需要访问“登录”结果。
如果操作需要共享结果,则可以为每个包定义一组全局结果。框架将首先查找嵌套在操作中的本地结果。如果未找到本地匹配,则检查全局结果。
<global-results>
<result name="error">/Error.jsp</result>
<result name="invalid.token">/Error.jsp</result>
<result name="login" type="redirectAction">Logon!input</result>
</global-results>
有关详细信息,请参阅官方文档