首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在基于struts portlet桥的portlet (JSR-168)中,前进的重定向属性不起作用。

在基于struts portlet桥的portlet (JSR-168)中,前进的重定向属性不起作用。
EN

Stack Overflow用户
提问于 2012-05-30 14:37:16
回答 1查看 1.3K关注 0票数 0

我在这件事上做了很多研究,但似乎找不到我问题的答案,所以我希望你们能帮助我。

我们有一个struts 1.2.7 web应用程序,我们使用将其转换为一个JSR-168 portlet。

这一切都很好,除了一件事:指定重定向的动作实际上不会重定向到指定的动作。这些重定向工作时,运行应用程序作为一个正常的struts网络应用程序。因此,在portlet变体中存在双重提交问题。

我们使用以动作转发到平铺定义的动作链作为结束。例如:

代码语言:javascript
复制
<action path="/CreateIdmAccountSubmit"  validate="true"   input="catalog.createaccount.page" type="com.konakart.actions.login.CreateIdmAccountSubmitAction" name="CreateIdmAccountForm">
        <forward name="FillRegistrationData" path="/FillRegistrationData.do" redirect="true"/>
    </action>

<action path="/FillRegistrationData" validate="false" type="com.konakart.actions.registration.FillRegistrationDataAction" name="FillRegistrationDataForm">
        <forward name="FillRegistrationDataPage" path="/FillRegistrationDataPage.do" redirect="false"/>
    </action>

<action path="/FillRegistrationDataPage" forward="order.registrationdata.page"/> (tiles-def)

在本例中,动作/CreateIdmAccountSubmit处理提交的表单(POST),并在db中创建一个帐户。在成功创建之后,用户将被重定向到另一个操作(/FillRegistrationData),该操作位于order对象中,然后依次转发到在tiles-defs.xml中定义布局的Order配准页面。

正如我说的,这一切都很好,形成一个功能透视图,但是当用户点击呈现的订单注册页面上的f5时,操作/CreateIdmAccountSubmit再次被调用,导致帐户被创建成双倍。正如我说过的,当将应用程序作为正常的web应用运行时,这种情况不会发生。在这里,该机制工作得非常完美:)

我认为问题是因为重定向是在错误的阶段进行的,但我真的不清楚为什么这样做是行不通的:)

基于我所读到的,我尝试了各种方法来解决重定向问题:*将表单提交的操作指定为struts-portt-config.xml中的" actionUrl“(希望重定向是在错误的阶段完成的?)*将普通的html标记库替换为struts-portlet变体(希望我的html生成了一个有效的url actionUrl:表单在某种程度上使重定向成为可能?)

这两个步骤似乎没有帮助,我不知道如何在portlet中完成简单的重定向,以防止双重提交问题。

希望你们能帮我一把!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-26 09:01:52

我找到了答案:该机制依赖于门户实现。我们使用Liferay,它在默认情况下不适用于重定向。

但是,您可以通过声明一个名为-portlet.xml的元素来打开它

代码语言:javascript
复制
<action-url-redirect>true</action-url-redirect>

这解决了我们的问题!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10818497

复制
相关文章

相似问题

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