解决url传送到Action后无法获得整个url的问题。

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了。

你可能感兴趣的:(jdk,exception,String,url,action)