我在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是否還有其他問題? –