【问题标题】:Picking up redirect parameters获取重定向参数
【发布时间】:2014-09-05 21:23:14
【问题描述】:

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

}

【问题讨论】:

    标签: java servlets url-redirection http-redirect


    【解决方案1】:

    就像您的查询参数一样。

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

    剩下的也是如此。

    而且我相信您需要编写 ? 而不是 # 才能将查询参数附加到 url。

    【讨论】:

      【解决方案2】:

      请参阅 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
      

      【讨论】:

        猜你喜欢
        • 2016-07-29
        • 2017-09-20
        • 1970-01-01
        • 2020-04-13
        • 2015-04-27
        • 2017-06-07
        • 2012-01-18
        • 2019-03-26
        • 1970-01-01
        相关资源
        最近更新 更多