在Spring 项目中使用thymeleaf引擎,可以很好地解决部署问题,不用再导出jsp文件。真正做到一个jar包即可发布。但Thymeleaf有个缺陷:必须重启工程才能刷新。其实把配置稍微改一下,就可以在开发的时候动态刷新。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | @Configuration @EnableWebMvc public class ThymeleafConfig extends WebMvcAutoConfiguration { @Autowired ApplicationContext applicationContext; @Bean public ViewResolver viewResolver(SpringTemplateEngine templateEngine) { ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); viewResolver.setTemplateEngine(templateEngine); viewResolver.setCache( false ); return viewResolver; } @Bean public SpringTemplateEngine templateEngine() { SpringTemplateEngine engine = new SpringTemplateEngine(); engine.setEnableSpringELCompiler( true ); engine.setTemplateResolver(templateResolver()); return engine; } private ITemplateResolver templateResolver() { SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver(); resolver.setApplicationContext(applicationContext); URL resource = this .getClass().getClassLoader().getResource( "templates/" );<br> //这里把系统获取到的Class的path替换为源码对应的Path,这样修改的时候就可以动态刷新 String devResource = resource.getFile().toString().replaceAll( "target/classes" , "src/main/resources" ); resolver.setPrefix( "file:" +devResource);<br> //不允许缓存 resolver.setCacheable( false ); resolver.setSuffix( ".html" ); resolver.setTemplateMode(TemplateMode.HTML); return resolver; } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步