【发布时间】:2015-05-06 15:34:29
【问题描述】:
有没有办法从带有自定义标题的jsp页面重定向到spring控制器。 我不想使用 jquery ajax 进行 GET/POST 请求。 我想做一个完整的重定向到另一个页面.. 请帮忙。
【问题讨论】:
有没有办法从带有自定义标题的jsp页面重定向到spring控制器。 我不想使用 jquery ajax 进行 GET/POST 请求。 我想做一个完整的重定向到另一个页面.. 请帮忙。
【问题讨论】:
也许吧。注意:如果您的 JSP 已经写了一些东西,则无法更改标题,因此“重定向”需要是页面上的第一件事。
您可以使用jsp:include 包含另一个页面。如果您的 JSP 不输出任何其他内容,那将非常类似于重定向。你可以使用
<%if(...){%>
<jsp:include ...>
<%}else{%>
...no redirect...
<%}%>`
创建替代方案以确保没有任何内容写入输出。
下一步是从 Spring 获取控制器 bean 并直接调用方法。请注意,您必须复制 Spring 的一系列便利(例如将方法的结果转换为发送到浏览器的字节)。但是 Spring 并没有变魔术。最终一切都是 Java 代码,您只需要手动调用。
【讨论】:
response.setHeader()来修改表头。但是在做任何其他事情之前你必须这样做,即 JSP 中的第一个字符必须是:<%response.setHeader(。如果在此之前甚至有一个空格或空行,JSP 编译器就会在响应中写入一些内容,并且您不能 100% 确定新的标头可以发送到浏览器。