Liferay中的会话管理

时间:2012-05-11 10:48:39

标签: liferay liferay-6

为什么我在Liferay中自定义会话?欢迎使用示例代码,因为它会有所帮助,我对Liferay很新? 更具体地说,我将解释我所做的事情。使用自定义JSP钩子,我已经覆盖了$ PORTAL_ROOT_HOME / html / portlet / login login.jsp并创建了我自己的jsp页面,并且还覆盖了LoginAction类。我的login.jsp页面看起来像:

<aui:form action="" method="post">
        <table>
            <tr>
                <td>Username :</td>
                <td><input name="login" size=15 type="text" /></td>
            </tr>
            <tr>
                <td>Password :</td>
                <td><input name="password" size=15 type="password" /></td>
            </tr>
        </table>
        <aui:button type="submit" value="sign-in"/>
</aui:form>

现在请点击提交按钮告诉我如何获取LoginAction.java中的登录值,从而将值设置为session。这就是我所说的定制。

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码获取登录值:

    String login = ParamUtil.getString(request, "login");
    String password = ParamUtil.getString(request, "password");

要将某些值设置为会话,请使用此选项:

    HttpSession session = request.getSession();
    session.setAttribute("parm", "somevalue");

BR, 保罗

答案 1 :(得分:1)

您应该从一开始就复制了原始的login.jsp文件。根据您的codesnipsets的外观,您忘记将操作设置为loginAction。这可以通过以下方式完成:

<portlet:actionURL secure="<%= PropsValues.COMPANY_SECURITY_AUTH_REQUIRES_HTTPS || request.isSecure() %>" var="loginURL">
            <portlet:param name="saveLastPath" value="0" />
            <portlet:param name="struts_action" value="/login/login" />
            <portlet:param name="doActionAfterLogin" value="<%= portletName.equals(PortletKeys.FAST_LOGIN) ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" />
        </portlet:actionURL>

<aui:form action="<%= loginURL %>" method="post">
        <table>
            <tr>
                <td>Username :</td>
                <td><aui:input name="login" size=15 type="text" /></td>
            </tr>
            <tr>
                <td>Password :</td>
                <td><aui:input name="password" size=15 type="password" /></td>
            </tr>
        </table>
        <aui:button type="submit" value="sign-in"/>
</aui:form>

请注意,最好将原始的$ PORTAL_ROOT_HOME / html / portlet / login / login.jsp复制到您的钩子中。然后根据需要进行修改。

如果您提供了所提供的剪辑资料,您的Hook将会破坏/删除所有现有功能。

要从动作中接收参数,您可以使用Pauls答案。