我正在努力尝试从 Spring MVC 控制器返回静态网页。我遵循了本教程:http ://www.tutorialspoint.com/spring/spring_static_pages_example.htm但它仍然无法正常工作。
这就是我定义配置的方式(使用的配置类):
@Configuration
@EnableWebMvc
@EnableTransactionManagement
@ComponentScan({ "com.my.web.api"})
@ImportResource("classpath:db-context.xml")
public class ApiServletConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Bean
public InternalResourceViewResolver internalResourceViewResolver() {
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setPrefix("/resources/");
internalResourceViewResolver.setSuffix("*.html");
return internalResourceViewResolver;
}
}
控制器方法:
@RequestMapping(value = "/{id}/view", method = RequestMethod.GET, produces = "text/html")
@ResponseBody
public String getPostByIdHtml( @PathVariable String id) throws IOException {
return "/resources/Post.html";
}
在 webapp 文件夹下有一个名为“resources”的文件夹,在该文件夹下有一个文件“Post.html”。为了让这个页面返回为 HTML 而不是获取字符串“resources/Post.html”,我还应该做什么?
谢谢您的帮助。