java - 后退按钮后,portlet 不会进入 processaction

标签 java jsp portlet websphere-portal

我有一个 portlet,它涉及显示几个 JSP 页面。

在第一个 JSP page A ,当我单击 Page A 上的“提交”按钮时processAction()方法执行操作并生成 JSP page B出现。

现在,如果我使用网络浏览器的后退按钮page A并再次点击提交按钮, JSP page B出现,但我注意到 processAction()没有采取任何行动。 (通常单击 JSP 页面中的“提交”按钮会导致 processAction() 采取操作)。

谁能帮忙解决这个问题吗?在我的 Porlet 中,它必须转到流程操作,但在后退按钮之后不会。

最佳答案

这是默认行为。默认情况下,门户启用“多操作 URL 保护”。加载页面时,会创建一个操作链接,并且该链接包含一个操作 ID。同一操作 ID 不能在同一 session 中再次使用。因此,当您单击“后退”按钮时,如果页面是从历史缓存加载的,则您的表单将包含之前使用的相同操作链接。因此门户简单地重新加载页面,而不是调用processAction()。 您可以通过在 portlet.xml 文件中为您的 portlet 添加以下配置来禁用此功能。

<init-param>
   <name>wps.multiple.action.execution</name>
   <value>true</value>
</init-param>

关于java - 后退按钮后,portlet 不会进入 processaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6456076/

相关文章:

java - 进程生成器不使用 wmic 打印控制台输出

java - 如何将接口(interface)变量分配给子接口(interface)变量?

java - 了解正常运行时间计时器是否已重置或 Android 是否已重新启动

java - 如何在没有服务器的情况下从一台设备向另一台设备发送信号或消息

java - Spring mvc 布局没有瓷砖

java - Hibernate和数据库连接问题(JSP页面上没有显示数据)

java - Portlet JSR 168

java - 如何在servlet中获取一个td的内容

java - 在 liferay 中删除 jsp portlet 问题中的 session 属性

java - 如何使用liferay 6和portlet显示servlet?