Action中:
//日志跟踪 url=/u2manageAdvertise.do?id=186&method=detail&usertype=bman
RequestDispatcher rd = request.getRequestDispatcher("/u2bmanurl.do?target=" + url);
rd.forward(request, response);
/u2bmanurl.do是一个Action:如下:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String target = request.getParameter("target");
log.info("target=" + target);
//这里的target=/u2manageAdvertise.do?id=186 ,后面的“&method=detail&usertype=bman”
//都没有取到
return mapping.findForward("B0");
}
请问,怎么才能在/u2bmanurl.do里取到完整的target参数?
最终知道了,jdk就有String URLEncoder.encode(url)方法就是干这事的。基础不够好。
修改成
RequestDispatcher rd = request
.getRequestDispatcher("/u2bmanurl.do?url="+URLEncoder.encode(url));
rd.forward(request, response);
这样就ok了。