所以这是我的问题:
我有一个处理按钮点击的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)。所有其他页面都以这种方式工作,没有问题。
答案 0 :(得分:0)
List<String> portletList = layoutTypePortlet.getPortletIds();
String portletNamespace = !portletList.isEmpty() ? portletList.get(0) : "";
在原始portlet之前放置了2个空portplet,因此portletList有3个元素,我们需要的是第3个元素。因此,删除后,它开始工作。