从 struts.xml 中的 httpheader 结果引用 actionerror

发布于 2024-08-19 17:32:48 字数 788 浏览 2 评论 0原文

在我的 TestClass 操作中,我使用 addActionError 方法设置操作错误。我在 struts.xml 中定义了一个操作,如下所示。

<action name="TestAction" class="TestClass">
    <result name="input">/jsp/test.jsp</result>
    <result name="error" type="httpheader">
       <param name="error">409</param>
       <param name="errorMessage">${SOME-EXPRESSION}</param>
    </result> 
</action>

其目的是让错误消息显示使用 addActionError 添加的任何内容。根据 org.apache.struts2.dispatcher.HttpHeaderResult 文档,我应该能够在 errorMessage 参数中使用 Ognl 表达式。

那么,是否可以在这种情况下用一些东西来代替 ${SOME-EXPRESSION} 来引用 actionerror。(我尝试了 ${actionerror} 但它不起作用)

我知道我可以通过声明我的在操作类中使用自己的字段(例如“errorText”),并使用 addActionError 的 insteda 在 param 标记内使用 ${errorText} 引用它。但在我走这条路之前,我想确保这是唯一的方法。

In my TestClass action I am setting an action error using addActionError method. I have an action defined in the struts.xml as following

<action name="TestAction" class="TestClass">
    <result name="input">/jsp/test.jsp</result>
    <result name="error" type="httpheader">
       <param name="error">409</param>
       <param name="errorMessage">${SOME-EXPRESSION}</param>
    </result> 
</action>

The intent is to have the error message display whatever was added using addActionError. According to the org.apache.struts2.dispatcher.HttpHeaderResult documentation, I should be able to use Ognl expressions within errorMessage parameter.

So, is it possible to put something in place of ${SOME-EXPRESSION} that will reference actionerror in this scenario.(I tried ${actionerror} but it didn't work)

I know that I can have a workaround by declaring my own field (for example "errorText") in the action class and using that insteda of addActionError referencing it using ${errorText} inside the param tags. But before I go that route, want to make sure that's the only way.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

油饼 2024-08-26 17:32:48

操作错误存储在列表中,因此您必须显示类似 ${actionErrors[0]} 的内容。但请记住,这样它只会显示您第一个添加的错误,而不是您使用 addActionError 包含的所有错误。

Action errors are stored in a list, so you'll have to show something like ${actionErrors[0]}. But keep in mind this way it will only show your first added error, not all those you have included using addActionError.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文