Spring RequestMapping错误的视图路径

时间:2016-04-02 14:05:22

标签: java spring jsp spring-mvc

我遇到了映射和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;
}

1 个答案:

答案 0 :(得分:2)

微米。 Deinum解决了这个问题。

  

将@RestController替换为@Controller

     

@RestController将所有内容作为响应主体返回,它会自动将ModelAndView作为JSON或XML返回。 @Controller执行正确的视图分辨率。你的前缀也应该是/ WEB-INF / views / jsp /。包括前导/.