我遇到了映射和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;
}
答案 0 :(得分:2)
微米。 Deinum解决了这个问题。
将@RestController替换为@Controller
@RestController将所有内容作为响应主体返回,它会自动将ModelAndView作为JSON或XML返回。 @Controller执行正确的视图分辨率。你的前缀也应该是/ WEB-INF / views / jsp /。包括前导/.