Spring Tool Suite配置视图解析器和和模板解析器等
/*
* SpringMvcConfig
* 作用:进行SpringMVC相关的配置
*/
@EnableWebMvc
@ComponentScan("com.jcx")
public class SpringMvcConfig implements WebMvcConfigurer{
// 视图解析器
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
// 创建视图解析器
// InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
// viewResolver.setPrefix("/WEB-INF/page/");
// viewResolver.setSuffix(".jsp");
ThymeleafViewResolver vieResolver = new ThymeleafViewResolver();
ApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
//System.out.println();
System.out.println(Arrays.toString(context.getBeanDefinitionNames()));
SpringTemplateEngine templateEngine = context.getBean(SpringTemplateEngine.class);
// "注册"视图解析器
vieResolver.setTemplateEngine(templateEngine);
vieResolver.setCharacterEncoding("utf-8");
registry.viewResolver(vieResolver);
}
// View Controller
// 处理静态资源
// 处理静态资源
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 作用等同于:<mvc:resources mapping="*.html" location="/" />
registry.addResourceHandler("/**").addResourceLocations("/static/");
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
// 作用等同于:<mvc:view-controller path="/home" view-name="index"/>
//registry.addViewController("/home").setViewName("info.do");
registry.addViewController("/login").setViewName("login");
registry.addViewController("/index").setViewName("index");
}
}
模板解析器
@Configuration
@ComponentScan(value = { "com.jcx" })
@EnableAspectJAutoProxy //自动注册代理对象
public class AppRootConfig {
//模板解析器 : 用于解析模板对象
@Bean
public ITemplateResolver templateResolverBean() {
//模板解析器对象(Spring整合专用)
SpringResourceTemplateResolver templateResolver=new SpringResourceTemplateResolver();
//前缀路径(模板文件存储位置)
templateResolver.setPrefix("/WEB-INF/templates/");
//模板文件后缀名
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
//模板文件字符编码集
templateResolver.setCharacterEncoding("utf-8");
//关闭模板解析器缓存(开发期间关闭false,上线打开:true)
templateResolver.setCacheable(false);
return templateResolver;
}
//模板引擎:用于加载模板文件,并调用模板解析 器进行解析执行
@Bean
public SpringTemplateEngine templateEngineBean(ITemplateResolver resolver) {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
//注入模板对象
templateEngine.setTemplateResolver(resolver);
return templateEngine;
}