jsp 重定向 url 标签和 response.sendRedirect() 方法之间的区别

Difference between jsp redirect url tag and response.sendRedirect() method

我有以下代码可以从 jsp.

重定向到新页面
   //response.sendRedirect("someJspPage.jsp");  
   %>
      <c:redirect url="someJspPage.jsp" />
   <%       

我看到第一行被注释掉了。但我不确定为什么。 我想知道 response.sendRedirect<c:redirect url= 之间的确切区别是什么 任何人都可以帮助我了解重定向在这两种情况下的工作方式有何不同。我正在为混合内容问题编写解决方案,但我需要先了解这种差异。

两者的工作原理相似。我相信您已经知道标签 c:redirect 是来自 JSTL(JSP 标准标签库)的标签,用于将请求重定向到另一个资源。与任何 JSP 标签一样,使用它的好处是生成动态 HTML 而无需将 Java 代码(例如 response.sendRedirect("someJspPage.jsp");)与 HTML 标签混合。

它也支持c:param例如

<c:redirect url="someJspPage.jsp" >
    <c:param name="someVar" value="1234"/>
</c:redirect>

response.sendRedirect 的情况下,您必须按照以下方式进行操作:

response.sendRedirect("someJspPage.jsp?someVar=1234");