发送重定向时,是否可以看到从我们重定向到的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 {
}
答案 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