Html 将参数传递给liferay portlet
我用一个portlet设计了一个网页。 我想将参数传递给这个portlet。 因此,我以这种方式调用我的网页(在本地liferay实例上): /?参数=1 为了避免误解,我不只是尝试在portlet的页面之间传递参数(要查看的控制器)。我知道怎么做,而且效果很好。 在本例中,我尝试使用托管portlet的URL中的参数启动portlet 我从文档中了解到,portlet无法访问URL参数 我读到的建议解决方案是使用“友好的url映射器” 我没能让它工作。以下是我迄今为止所做的: 我在liferay-portlet.xml中添加了:Html 将参数传递给liferay portlet,html,liferay,liferay-6,Html,Liferay,Liferay 6,我用一个portlet设计了一个网页。 我想将参数传递给这个portlet。 因此,我以这种方式调用我的网页(在本地liferay实例上): /?参数=1 为了避免误解,我不只是尝试在portlet的页面之间传递参数(要查看的控制器)。我知道怎么做,而且效果很好。 在本例中,我尝试使用托管portlet的URL中的参数启动portlet 我从文档中了解到,portlet无法访问URL参数 我读到的建议解决方案是使用“友好的url映射器” 我没能让它工作。以下是我迄今为止所做的: 我在lifera
<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>
com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper
看法
friendly-url-routes-for-parameters.xml
视图是否是要设置的正确值?真的很怀疑
我使用以下内容创建了friendly-url-routes-for-parameters.xml:
<routes>
<route>
<pattern>/result?{match}</pattern>
<implicit-parameter name="param">{match}</implicit-parameter>
</route>
</routes>
/结果?{match}
{match}
/结果被映射到一个result.jsp页面到我的控制器类中(这部分工作):
我希望:
/?参数=
和/或
//-/查看/?参数=
将使用?param=参数重定向到my result.jsp
我没有正确理解什么?好的,你可以,你不能,但基本上你不应该,但我不是告诉你应该做什么和不应该做什么的人 要获取此参数,您应该做的是获取原始servlet
HttpServletRequest httpReq = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(req));
然后,您可以使用getParameter
方法
希望这有帮助您正在生成的URL不正确。它应该是这样的,然后您可以在portlet中使用httpServletRequest获得它。这个答案是一吨泰铢:)
String myParam = httpReq.getParameter("param");