我正在使用spring boot 1.2.1,我想配置一个ParameterizableViewController,就像我在xml风格中所做的那样:
例如在我做之前:
<mvc:view-controller path="/ie7"/>
该代码将http://mywebsite.com/mycontext/ie7之类的网址重定向到位于/WEB-INF/views/ie7.jsp中的jsp,而不直接创建控制器。
我想用弹簧靴做同样的事情。检查网络后,我在配置文件中有这个:
@Bean(name = "ie7Controller")
public ParameterizableViewController getIe7ControllerView() {
ParameterizableViewController viewController = new ParameterizableViewController();
viewController.setViewName("ie7");
return viewController;
}
在我的application.properties中,我按如下方式配置视图:
spring.view.prefix=/WEB-INF/views/
spring.view.suffix=.jsp
我也尝试添加:
@Bean
public InternalResourceViewResolver getViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
但是当我尝试http://mywebsite.com/mycontext/ie7时,我得到了404。 这是我得到的日志:
在应用启动期间:
Rejected bean name 'ie7Controller': no URL paths identified
当我尝试拨打该页面时:
2015-02-11 09:01:42.693 DEBUG 1160 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/stdapps/ie7]
2015-02-11 09:01:42.699 DEBUG 1160 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /ie7
2015-02-11 09:01:42.704 DEBUG 1160 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Did not find handler method for [/ie7]
2015-02-11 09:01:42.706 DEBUG 1160 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Matching patterns for request [/ie7] are [/**]
2015-02-11 09:01:42.708 DEBUG 1160 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : URI Template variables for request [/ie7] are {}
2015-02-11 09:01:42.712 DEBUG 1160 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapping [/ie7] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@39689892]]] and 1 interceptor
2015-02-11 09:01:42.714 DEBUG 1160 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Last-Modified value for [/stdapps/ie7] is: -1
我错过了什么吗?我觉得我需要在某处指定和url,我尝试用@Bean(name =&#34; ie7Controller&#34;)添加@RequestMapping(value =&#34; ie7&#34;)但没有运气
感谢您的帮助
答案 0 :(得分:2)
如果我正确理解您的要求,那么以下代码应该可以解决问题:
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableWebMvc
public class Application extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/ie7").setViewName("ie7");
};
}