如何在Liferay中获取从JSP提交的值?

如何在Liferay中获取从JSP提交的值?,liferay,portlet,liferay-6,Liferay,Portlet,Liferay 6,我正在使用Liferay Portal 6版本。 如何在同一页面中获取用户名和密码值 这是Kiran portlet。 用户名: 密码: 我不确定它是否正确提交了值,因为您的表单没有目标,也没有引用portlet操作url 这显示了一些基本用法和参数检索。检查jspportlet部分。您还应该能够访问jsp中的请求对象 我不会开始编写JSP portlet。现在已经很过时了。检查或甚至考虑JSF。< P>我不确定它是否正确地提交值,因为表单没有目标,也不引用portlet动作URL。 这显示

我正在使用Liferay Portal 6版本。 如何在同一页面中获取用户名和密码值


这是Kiran portlet。
用户名:

密码:




我不确定它是否正确提交了值,因为您的表单没有目标,也没有引用portlet操作url

这显示了一些基本用法和参数检索。检查jspportlet部分。您还应该能够访问jsp中的请求对象


我不会开始编写JSP portlet。现在已经很过时了。检查或甚至考虑JSF。

< P>我不确定它是否正确地提交值,因为表单没有目标,也不引用portlet动作URL。

这显示了一些基本用法和参数检索。检查jspportlet部分。您还应该能够访问jsp中的请求对象


我不会开始编写JSP portlet。现在已经很过时了。检查甚至考虑JSF。

< P>你想要得到什么?是否要在其他.java文件或.jsp文件中获取用户名和密码??或者,您想在用户登录后获取用户名和密码吗

如果您试图在其他一些.java或.jsp中获取当前jsp页面中设置的用户详细信息,那么只需使用PortletSession即可。 例如:来自jsp

PortletSession-PortletSession=actionRequest.getPortletSession();
setAttribute(“liferayUserMap”,liferayUserMap,portletSession.APPLICATION\u范围);
From.java/.jsp

PortletSession-PortletSession=actionRequest.getPortletSession();
getAttribute(“liferayUserMap”,portletSession.APPLICATION\u范围);
通过这样做,您也可以在不同portlet中的不同文件之间共享数据

对于案例2:如果您试图获取用户详细信息,只需执行以下操作:

ThemeDisplay-ThemeDisplay=(ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME\u DISPLAY);
themeDisplay.getUser();

我希望您在编码时遵循portlet结构,否则上述代码将无法工作。由于您必须指向某个操作类,因此在'struts-config''tiles-def'

中,您想要得到什么?是否要在其他.java文件或.jsp文件中获取用户名和密码??或者,您想在用户登录后获取用户名和密码吗

如果您试图在其他一些.java或.jsp中获取当前jsp页面中设置的用户详细信息,那么只需使用PortletSession即可。 例如:来自jsp

PortletSession-PortletSession=actionRequest.getPortletSession();
setAttribute(“liferayUserMap”,liferayUserMap,portletSession.APPLICATION\u范围);
From.java/.jsp

PortletSession-PortletSession=actionRequest.getPortletSession();
getAttribute(“liferayUserMap”,portletSession.APPLICATION\u范围);
通过这样做,您也可以在不同portlet中的不同文件之间共享数据

对于案例2:如果您试图获取用户详细信息,只需执行以下操作:

ThemeDisplay-ThemeDisplay=(ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME\u DISPLAY);
themeDisplay.getUser();

我希望您在编码时遵循portlet结构,否则上述代码将无法工作。由于您必须指向某个操作类,因此在门户/portlet中的'struts-config''tiles-def'

中,所有标识符都必须正确命名-您永远不知道在同一html文档中会出现哪些其他内容。因此,窗体控件应改为:

<input type="text" name="<portlet:namespace/>user" .../>

以便能够从请求中以“用户”的身份检索参数

如果在Liferay 6中使用AlloyUI标记库,那么许多名称空间都会自动为您完成

此外,您还应该按照Udo的建议添加portlet操作URL:

<form action="<portlet:actionURL/>">

在门户/portlet中,所有标识符都必须正确命名-您永远不知道在同一html文档中会出现哪些其他内容。因此,窗体控件应改为:

<input type="text" name="<portlet:namespace/>user" .../>

以便能够从请求中以“用户”的身份检索参数

如果在Liferay 6中使用AlloyUI标记库,那么许多名称空间都会自动为您完成

此外,您还应该按照Udo的建议添加portlet操作URL:

<form action="<portlet:actionURL/>">


我同意Udo,您应该使用wither-Spring Portlet MVC或Liferay的MVCPortlet类。我同意Udo,您应该使用wither-Spring Portlet MVC或Liferay的MVCPortlet类。