首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我在POJO操作中使用spring-webflow时,如何在jsp中显示错误/信息/致命消息?

当我在POJO操作中使用spring-webflow时,如何在jsp中显示错误/信息/致命消息?
EN

Stack Overflow用户
提问于 2013-10-29 11:00:42
回答 2查看 3.3K关注 0票数 1

我在这里使用spring-mvc(3.2.4)和spring-webflow(2.3.2)。我这样定义一个流:

代码语言:javascript
复制
<flow>
<decision-state id="check">
    <if test="signupFlowAction.checkPrecondition(messageContext)" then="firstState" else="error" />
</decision-state>

<view-state id="firstState">
    ... 
</view-state>

<view-state id="error" view="error/bad-thing-happens">
    ...
</view-state>

我想在流程启动时检查一些业务前提条件,所以我使用POJO来做这件事。

代码语言:javascript
复制
public boolean checkPrecondition(MessageContext messageContext) {

    boolean oh_snap = true;

    if (oh_snap) {
        MessageResolver mr1 = new MessageBuilder().fatal().defaultText("fatal message here.").build();
        MessageResolver mr2 = new MessageBuilder().error().defaultText("error message here.").build();
        MessageResolver mr3 = new MessageBuilder().info().defaultText("info message here.").build();

        messageContext.addMessage(mr1);
        messageContext.addMessage(mr2);
        messageContext.addMessage(mr3);
    }

    return ! oh_snap;
}

这段代码很好,但我不知道如何在jsp中显示消息。spring的taglib没有工作吗?我试过<spring:error path="*"/>但什么也没发生。

EN

回答 2

Stack Overflow用户

发布于 2013-10-29 22:12:33

在您的JSP文件中,尝试如下所示:

代码语言:javascript
复制
<c:forEach items="${flowRequestContext.messageContext.allMessages}" var="message">
  <li>
    Message Source is ${message.source}
    <br>
    Message Text is ${message.text}
  </li>
</c:forEach>
票数 4
EN

Stack Overflow用户

发布于 2013-10-29 16:43:54

假设您已经按如下方式指定了Spring Form taglib指令:

代码语言:javascript
复制
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

然后我认为使用error标签的正确语法是:

代码语言:javascript
复制
<form:errors path="*" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19648882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档