我想从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");
价值就在这里!
问题是如果参数不在请求中,则不填充输入字段。
请帮忙吗?
答案 0 :(得分:0)
您可以将参数放入您重定向到的网址:
response.sendRedirect(createAccountURL + "?firstName=" + java.net.URLEncoder.encode(firstName));
return;
但是,您可能要转发而不是重定向:
request.getRequestDispatcher(createAccountURL).forward(request, response);
return;