拾取重定向参数

时间:2014-07-15 15:32:51

标签: java servlets url-redirection http-redirect

发送重定向时,是否可以看到从我们重定向到的servlet传递的参数是什么?

例如:

我们从servlet servletA重定向

   protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws IOException, ServletException {
       resp.sendRedirect(req.getContextPath()+"/foo#fooMethod:val1="+val1+"&val2="+val2);
   }

那么servlet servletB需要做些什么来获取val1 / val2 / fooMethod?

protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws IOException, ServletException { 

}

2 个答案:

答案 0 :(得分:2)

就像您的查询参数一样。

String value2 = req.getParameter("val2");

同样也是如此。

我相信你需要写?而不是#来将查询参数附加到网址。

答案 1 :(得分:0)

请参阅Sun / Oracle的java servlet站点上的参考: http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html

你基本上必须做req.getParameter("val2") 将是一个字符串类型,您可以将其转换为您需要的任何类型。

将来,如果您的参数有多个值,请使用getParameterValues(java.lang.String)。您可以传递字符串数组等

另外 /foo#fooMethod:val1=应该是

/foo?doGet:val1=yourValue&val2=yourNextValue&val3=yourNextNextValue