0

我想知道是否可以设置适用于 struts2 中每个操作的默认结果。

例如,说结果“FOO”将始终重定向到操作 BAR 或 jsp“BAR.jsp”,而不是添加<result name="FOO">xxx</result>到我定义的每个操作...

这将帮助我创建一个通用错误页面

谢谢

4

2 回答 2

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>

有关更多详细信息,请阅读结果配置页面

于 2012-05-03T10:25:48.677 回答
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>

更多详情请参考官方文档

于 2012-05-03T10:21:22.517 回答