Liferay无法从renderrequest

时间:2015-08-07 13:36:24

标签: parameters request liferay

所以这是我的问题:
我有一个处理按钮点击的actionrequest。所以它应该重定向到另一个页面。我们有一个运行良好的Url生成器,并将所需的参数放在url中,如:

parametersNameValue.put("foo", "asdfgh");

问题出现在重定向页面的doView中:

 String foo = ParamUtil.getString(renderRequest, "foo", null);

和foo变为null。我可以使用正确的值清楚地看到url中的foo参数。我尝试过许多其他技巧:

HttpServletRequest request = PortalUtil.getHttpServletRequest(renderRequest);
    String foo = request.getParameter("foo");

或在foo之前编写整个portletnamespace(因为它在命名空间中),尝试使用renderRequest.getParameter(“foo”)获取它,但仍然没有。问题是这个代码可以在我们的测试和生产服务器上运行,但不能在我们的本地开发机器上运行。我确实看到了很多类似的问题,但它们都没有帮助我(大多数答案是使用已经被使用的ParamUtil)。所有其他页面都以这种方式工作,没有问题。

1 个答案:

答案 0 :(得分:0)

经过两天的调试后,我找到了解决方案。问题是,在生成网址时,我们有:

    List<String> portletList = layoutTypePortlet.getPortletIds();
    String portletNamespace = !portletList.isEmpty() ? portletList.get(0) :     "";

在原始portlet之前放置了2个空portplet,因此portletList有3个元素,我们需要的是第3个元素。因此,删除后,它开始工作。