我正在尝试在Liferay 7.3中的portlet中获取参数。如果我像这样传递参数:
http://localhost:8080/web/guest?name=abhi
在包含我的Portlet的网页中。所以我的问题是,当用户重新加载上面的页面时,可以通过执行以下操作来在Portlet Controller(doView方法)中获取此参数:
import com.liferay.portal.kernel.util.ParamUtil; public class MySamplePortlet extends MVCPortlet { @Override public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { String name = ParamUtil.getString(renderRequest, "name"); System.out.println(name); } }
在这里,打印时我的'name'空格。
以及如何检查view.jsp
视图文件中此参数的条件。
<% if(name) %> render form view <% else %> render messageBox view ......
我想根据参数值呈现不同的视图。
我正在尝试在Liferay 7.3中的portlet中获取参数。如果我在包含我的portlet的网页中传递类似http:// localhost:8080 / web / guest?name = abhi的参数,所以我的问题是...
因此,如果参数用于Portlet,则ParamUtil将起作用。在这种情况下,您似乎希望url中的参数具有一般含义,而不是特定于portlet。为此,您需要使用PortalUtil
portlet的参数通常使用名称空间-例如HTTP参数name
对于任何portlet都可以是任何东西-页面可能具有许多portlet。他们所有人都可能将name
视为不同的东西:城市,用户,客户,当前使用的计算机,宠物...