【问题标题】:Spring webflow redirect not working for PortletsSpring webflow 重定向不适用于 Portlet
【发布时间】:2013-02-25 05:43:11
【问题描述】:

我必须实现 Portlet 间的通信功能。功能如下:

1) 用户点击“createStep1.jsp”上的“另存为”链接。

2) 调用下面提到的webflowsaveDraftStep1,草稿保存在数据库中。

3) 用户被导航到另一个 portlet myportlet 并在那里显示成功保存的消息。

不知何故,webflow 没有重定向到我在externalRedirect 中指定的 url。它保持在同一页面上。下面是代码:

<view-state id="createStep1">
   <transition on="saveDraftStep1" to="redirectView" >
         <evaluate expression="myAction.bindAndValidate" /> 
         <evaluate expression="myService.saveDraft(saveCriteria, externalContext.nativeRequest,externalContext.nativeResponse )" />
    </transition>
</view-state>
<end-state id="redirectView" view="externalRedirect:http://www.google.com" />

理想情况下,我想用我的 portlet url 替换 google url,例如:localhost:8080/myportlet

【问题讨论】:

    标签: spring-webflow-2 spring-portlet-mvc


    【解决方案1】:

    如果任一evaluate 调用返回错误,则不会进行转换。也许这就是正在发生的事情?

    【讨论】:

    • 感谢您的回复,但没有错误。我什至在没有任何“评估”的情况下尝试了以下操作 google.com" />
    • 如果不是重定向,那么转换是否有效?或者如果它不是外部重定向?
    • 是的。转换工作正常,无需重定向。我现在解决了这个问题。我必须如下覆盖“handleExecutionOutcome”方法。 public boolean handleExecutionOutcome(FlowExecutionOutcome 结果 try { response.sendRedirect(redirectUrl); return true; // 结果手动处理 } catch (IOException e) { e.printStackTrace(); } ActionRequest request, ActionResponse response) { {
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2011-11-01
    • 2012-02-13
    相关资源
    最近更新 更多