Spring ModelAndView设置请求标头值

时间:2014-08-06 16:27:54

标签: java spring spring-mvc servlets request

有没有办法为spring ModelAndView设置一些标头值。具体问题如下。

final String confirmationUrl = details.getConfirmationUrl() + details.getOrderAttemptUuid();
final ModelAndView modelAndView = new ModelAndView(new RedirectView(confirmationUrl));

我正在创建一个新模型和视图,但是想将referer标头设置为某个特定值。有没有办法做到这一点?

原因是,当我从https页面进入并重定向到https时,referer保留在请求中,但是当我从https进行但是重定向到http时,我按照

丢失了引用者

http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3

有没有办法将referer保留在请求中或将其设置回ModelAndView?

2 个答案:

答案 0 :(得分:0)

考虑从请求映射中返回ResponseEntity。

http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/ResponseEntity.html

然后您可以使用以下方式设置响应标头:

@RequestMapping("/handle")  public ResponseEntity<String> handle() { 
    HttpHeaders responseHeaders = new HttpHeaders();   
    responseHeaders.set("MyResponseHeader", "MyValue");
    return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
}

答案 1 :(得分:-3)

您可以使用ModelAndView上的addObject(name,value)方法来存储吗?

http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/web/servlet/ModelAndView.html