我想知道是否可以设置适用于 struts2 中每个操作的默认结果。
例如,说结果“FOO”将始终重定向到操作 BAR 或 jsp“BAR.jsp”,而不是添加<result name="FOO">xxx</result>
到我定义的每个操作...
这将帮助我创建一个通用错误页面
谢谢
是的,您可以为包设置全局结果。
<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>
有关更多详细信息,请阅读结果配置页面
我想到的一个快速解决方案是全局结果配置。大多数情况下,结果嵌套在 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>
更多详情请参考官方文档