如何将参数从login.jsp传递到预登录事件文件

时间:2016-09-09 05:53:09

标签: java liferay

我通过自定义portal.properties文件创建了一个钩子,如下所示: -

login.events.pre=com.abhishek.CustomLoginAction

我想检索名为" login"的参数。从/html/portlet/login/login.jsp进入CustomLoginAction。我尝试使用如下代码: -

public class CustomLoginAction extends Action{

  @Override
  public void run(HttpServletRequest arg0, HttpServletResponse arg1) throws ActionException {
    // TODO Auto-generated method stub
    System.out.println("login parameter "+arg0.getParameter("login"));
  }
}

但即使我通过登录表单传递了一些参数,我也将参数的值变为null。这意味着如果我没有错,我无法获取通过表单传递的值。那么如何检索参数值呢? 请提前帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

在登录事件中,您可以通过请求属性访问用户:

User user = (User) arg0.getAttribute(WebKeys.USER)

我不知道你要对你的param做什么,但是如果你只是在寻找表单发送的params,也许你应该尝试使用Servlet Filter钩子,以便你可以截取在实际调用之前调用servlet并预处理您的请求。