我在RestAppConfig
中声明了UrlBasedViewResolver方法来呈现jsp页面。Spring ViewResolver:找不到具有URI的HTTP请求的映射
@Bean
public UrlBasedViewResolver urlBasedViewResolver(){
UrlBasedViewResolver res = new InternalResourceViewResolver(); //new UrlBasedViewResolver();//
res.setOrder(10);
res.setViewClass(JstlView.class);
res.setPrefix("/views/templates/");
res.setSuffix(".jsp");
return res;
}
和在控制器delclared ModelAndView的方法BaseController
@Configuration
@EnableWebMvc
@ComponentScan(basePackages={"kr.co.cdefi.base.restapp.controller"}
, useDefaultFilters=false
, includeFilters={@Filter(Controller.class)
, @Filter(ControllerAdvice.class)})
public class RestAppConfig extends WebMvcConfigurerAdapter{
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer
.useJaf(true)
.favorPathExtension(true)
.favorParameter(false)
.ignoreAcceptHeader(false)
.defaultContentType(MediaType.APPLICATION_JSON)
.mediaType("json", MediaType.APPLICATION_JSON)
.mediaType("xml", MediaType.APPLICATION_XML);
};
@Bean
public UrlBasedViewResolver urlBasedViewResolver(){
UrlBasedViewResolver res = new InternalResourceViewResolver(); //new UrlBasedViewResolver();//
res.setOrder(10);
res.setViewClass(JstlView.class);
res.setPrefix("/views/templates/");
res.setSuffix(".jsp");
return res;
}
}
最后,我使用Eclipse运行tomcat8服务器。 但请求URI /home
只是回应此。
WARN osweb.servlet.PageNotFound - 未发现与URI [/TheBigs/views/templates/index.jsp]在DispatcherServlet的名称为 '休息应用内'
我HTTP请求映射打开部署位置 ...\org.eclipse.wst.server.core\tmp1\wtpwebapps\TheBigs\views\templates\
...文件存在。问题是什么?我有什么遗漏?
我加入我的控制器代码
BaseController
@Controller 公共类BaseController { 记录器记录器= LoggerFactory.getLogger(BaseController.class);
@Autowired UserService userService; @RequestMapping(value="/home", method = RequestMethod.GET) public ModelAndView home(){ logger.debug("home!"); ModelAndView view = new ModelAndView(); view.setViewName("index"); return view; } @RequestMapping(value="/", method = RequestMethod.GET) public String index(Model model){ logger.debug("index page!"); model.addAttribute("message", "success"); return "test"; }
}
此链接详细说明如何使用UrlBasedViewResolver:http://www.concretepage.com/spring/spring-mvc/spring-mvc-urlbasedviewresolver-example-java-configuration小心路径! –
什么是您的请求网址得到此错误?你为它添加了@RequestMapping吗? – Dinusha
@anvlasop感谢您的评论。我读了你的链接,但不知道我错过了什么。我找到部署路径/视图/ css /模板上的文件,并且前缀也是一样的。关于设置ViewResolver bean是否还有其他问题? –