Liferay重定向到createAccountURL,其参数为默认输入值

时间:2014-07-31 19:25:27

标签: jsp request liferay

我想从StrutsAction重定向到/html/portlet/login/create_account.jsp。

我看到一些示例代码,我有这段代码:

String createAccountURL = PortalUtil.getCreateAccountURL(request,themeDisplay); 
createAccountURL = HttpUtil.setParameter(createAccountURL,"firstName",firstName);
response.sendRedirect(createAccountURL);

...其中request = HttpServletRequest,response = HttpServletResponse(在BaseStrutsAcion请求中是HttpServlet ...)

显示

create_account.jsp页面,但firsName字段为空。我想在默认情况下使用该请求参数填充一些字段。

调试create_account.jsp我看到该请求没有这个参数,但如果我这样做...

HttpServletRequest originalRequest = PortalUtil.getOriginalServletRequest(request);
firstName = ParamUtil.getString(originalRequest,"firstName");

价值就在这里!

问题是如果参数不在请求中,则不填充输入字段。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

可以将参数放入您重定向到的网址:

response.sendRedirect(createAccountURL + "?firstName=" + java.net.URLEncoder.encode(firstName));
return;

但是,您可能要转发而不是重定向:

request.getRequestDispatcher(createAccountURL).forward(request, response);
return;