我开发了一个portlet,它通过<liferay-portlet:runtime portletName="2903"></liferay-portlet:runtime>
在另一个portlets view.jsp
说明: PortletA :: view.jsp会检查当前应用的主题,然后加载PortletB或继续处理自己的代码。
它是OOTB留言板portlet的移动版本,它可以在我用于开发的Tomcat 7.0.27上运行。
问题:实时服务器是Websphere,在部署过程之后,使用renderURL taglib创建的所有链接都不起作用,例如点击后,同一页面重新加载,没有任何反应。标签看起来像这样:
<portlet:renderURL var="editURL">
<portlet:param name="struts_action" value="/mobile_message_boards/edit_message" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="messageId" value="<%= String.valueOf(message.getMessageId()) %>" />
</portlet:renderURL>
观察到的:
已发布的代码段确实在Tomcat上生成了一个工作链接,但在Websphere上却没有。当我使用<portlet:actionURL>
而不是<portlet:renderURL>
时,它也适用于Websphere,但不是一个干净的实现。
当我单独/直接将移动版本portlet添加到页面中时,renderURL会按预期重新发送到适当的页面,但后来我失去了确定应该加载哪个portlet的条件。我已经在struts后面的PortletAction中添加了一些跟踪,但它从未在Websphere上调用,而在Tomcat上,跟踪会出现在Log输出中。
我认为它与某些配置权限有关,这些配置权限用于在Websphere上的portletA内创建/调用portletB的renderURL。我没有为这个问题找到任何可行的解决方案。
有没有人知道解决方案或解决方法?
亲切的问候, 丹尼斯迪克