![](/img/trans.png)
[英]Cannot forward after response has been committed when using deferredResult
[英]Response body is empty when using DeferredResult
将DeferredResult与Java Config一起使用时,响应主体为空。
控制器:
@Controller
public class HomeController {
@RequestMapping("/")
public DeferredResult<ModelAndView> home() {
final DeferredResult<ModelAndView> result = new DeferredResult<>();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
result.setResult(new ModelAndView("home", Collections.singletonMap("name", "World")));
}
}, 2);
return result;
}
}
组态:
@Configuration
@ComponentScan(basePackages = "to.talk.gzip.test")
@PropertySource(value = "classpath:/application.properties")
@EnableWebMvc
public class AppConfig {
@Bean
public ViewResolver mustacheViewResolver() {
MustacheViewResolver resolver = new MustacheViewResolver();
resolver.setPrefix("views/");
resolver.setSuffix(".html");
return resolver;
}
}
这似乎是Jetty 9中的错误。它可以与Jetty 8一起使用。
报告了一个问题: https : //bugs.eclipse.org/bugs/show_bug.cgi?id=408117
不使用DeferredResult是否可以工作? 即
@RequestMapping("/")
public ModelAndView home() {
return new ModelAndView("home", Collections.singletonMap("name", "World"));
}
如果这不起作用,则可能是与视图相关的问题。 如果是这样,则在or.springframework.web上启用调试日志记录,并查看输出以获取更多线索。 和/或添加一些自己的日志记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.