我对映射和ModelAndView有问题。所有像“ / login”这样的简单映射都可以,但是我有以下问题:
@RestController
@RequestMapping("/note/{noteId:[\\d]+}")
public class NoteController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView note(@PathVariable String noteId, HttpSession session) {
// not important code
ModelAndView modelAndView = new ModelAndView("note");
return modelAndView;
}
}
我在这里和路径中有错误:
/note/WEB-INF/views/jsp/note.jsp
。我想获取
WEB-INF/views/jsp/note.jsp
,并且在其他ModelAndViews中也具有类似的路径(无前缀)。我的配置:
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("WEB-INF/views/jsp/");
resolver.setSuffix(".jsp");
return resolver;
}
最佳答案
M. Deinum解决了这个问题。
用@Controller替换@RestController
@RestController返回所有内容作为响应主体,它自动将您的ModelAndView返回为JSON或XML。 @Controller做适当的视图分辨率。另外,您的前缀也应为/ WEB-INF / views / jsp /。包括前导/。
关于java - Spring RequestMapping错误的 View 路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36374271/