html - 将参数传递给 liferay portlet

标签 html liferay liferay-6

我设计了一个带有单个 portlet 的网页。 我想将参数传递给这个 portlet。 所以我以这种方式调用我的网页(在本地 liferay 实例上): http://localhost:8080/group//?param=1

为了避免误解,我不仅仅是试图在 portlet 的页面之间传递参数( Controller 到 View )。我知道如何做到这一点并且效果很好。 在本例中,我尝试使用托管它的 URL 中的参数来启动我的 portlet。

我从文档中了解到,Portlet 无法访问 URL 参数 我读到的建议解决方案是使用“Friendly-url-mapper”。

我没能让它工作。这是我到目前为止所做的:

我添加到liferay-portlet.xml:

<friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
<friendly-url-mapping>view</friendly-url-mapping>
<friendly-url-routes>friendly-url-routes-for-parameters.xml</friendly-url-routes>

View 设置的值是否正确?真的很怀疑。

我使用以下内容创建了Friendly-url-routes-for-parameters.xml:

<routes>
    <route>
        <pattern>/result?{match}</pattern>
        <implicit-parameter name="param">{match}</implicit-parameter>
    </route>
</routes>

/result 映射到我的 Controller 类中的 result.jsp 页面(这部分有效):

我希望: http://localhost:8080/group//?参数= 和/或 http://localhost:8080/group///-/ View /?param= 将使用 ?param= 参数重定向到我的 result.jsp。

我哪里理解不正确?

最佳答案

好吧,你可以,你不能,但基本上你不应该,但我没有人告诉你应该做什么和不应该做什么。

要获取此参数,您应该获取原始 servlet

HttpServletRequest httpReq = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(req));

然后你可以使用getParameter简单地获取你想要的参数 方法

String myParam = httpReq.getParameter("param");

希望这有帮助

关于html - 将参数传递给 liferay portlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973708/

相关文章:

html - 如何在另一个类中显示内容?

通过文档扩展名在 Liferay 文档库中搜索

html - 如何在 Liferay 中使用固定大小的列进行布局?

java - 在 liferay 主题中添加语言支持

liferay - 在 ModelListener 中更新 Web 内容的类别

jQuery-计算行数并添加属性-不满足条件

javascript - :last for table

javascript - 在 html 文件中使用数组

java - 如何在liferay + springmvc中调用另一个portlet @RenderMapping方法?

java - Liferay 6.0.5 - 以编程方式在新页面中设置权限