基本上,我们想创建一个标签库,可以将请求执行转发到另一个页面,类似于<jsp:forward />
. 我们如何防止 JSP 页面的其余部分从 taglib 中执行?
问问题
973 次
3 回答
0
您不应该在 taglib 中执行此操作。而是在将任何位发送到响应之前在Servlet或Filter中执行此操作。否则你可能会IllegalStateException: response already committed
遇到麻烦。
于 2009-12-14T11:05:23.690 回答
0
对我来说,以下几行效果很好:
String url = "http://google.com";
response.reset();
response.setStatus(HttpServletResponse.SC_TEMPORARY_REDIRECT);
response.setHeader("Location", url);
response.getWriter().close();
response.getWriter().flush();
于 2016-02-18T15:21:23.330 回答
-1
如果您不想在将控制权传递给另一个页面后继续处理原始页面,则最好使用重定向而不是转发。
response.sendRedirect("foo.jsp");
这将重定向到新页面并停止处理旧页面。
但是 - 重定向仅在您尚未向响应正文中写入任何内容(即未将任何数据发送回客户端)时才可用。
于 2009-12-14T10:09:02.307 回答