`
沉沦的快乐
  • 浏览: 56799 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何使修改的freemarker模板实时生效

    博客分类:
  • Java
阅读更多

       很多web系统的前端显示模板都用freemrker。由于freemarker没有像java那样方便直观的进行debug调试,开发过程中经常遇到写一些逻辑比较复杂的模板的时候,需要反复的试错修改,每次修改之后都需要部署再验证,导致开发效率比较低。由于freemarker默认开启了模板缓存机制,不管是直接修改部署war包里的ftl文件,还是修改代码ftl文件用IntellijIDEA进行热部署,修改后的ftl代码都不会直接生效。但是如果关闭freemarker的模板缓存,直接修改tomcat容器使用的ftl文件,那么修改的那些代码就会直接生效。

       具体步骤如下:

       1.找到项目里的freemarker.propertties文件,设置里面的配置项template_update_delay=0,这样就关闭了模板缓存。如果项目里没有则在/src/main/resources/目录下加上,并在freemarker.properties文件里配置template_update_delay=0。

       2.修改tomcat容器使用的war包里对应的ftl文件,保存后刷新页面,可以看到这些修改的代码直接生效了,再不用重新部署。

        具体点说,如果没有使用热部署工具,比如Eclipse+tomcat,那么找到tomcat部署时使用的war包,找到\WEB-INF文件夹里想修改的ftl文件,修改后保存就能直接生效。调试好之后把该文件复制替换项目里对应文件的代码(千万别忘了,因为下次部署的时候重新生成war包,你辛辛苦苦修改的ftl就没了)

;如果是热部署工具IntellijIDEA,那么直接修改项目里的ftl代码然后update一下,就直接生效了。

       3.需要注意的一点是不要把修改后freemarker.propertties提交到线上去,不然每次请求都会重新拉模板,对页面性能有影响。

分享到:
评论

相关推荐

    eclipse freemarker 插件

    Eclipse Freemarker插件是专为开发者设计的一款增强Eclipse集成开发环境的工具,它使得在Eclipse中编写和调试Freemarker模板变得更加便捷。Freemarker是一个强大的、基于模板的语言,广泛应用于Java web开发中,用于...

    freemarker myeclipse 插件安装

    5. **重启MyEclipse**:完成上述步骤后,重启MyEclipse以使插件生效。重启后,你可以在MyEclipse的“首选项”或“窗口”菜单中找到Freemarker的相关设置选项,表明插件已成功安装。 6. **验证安装**:创建一个新的...

    Jfinal_fastDev开发基础骨架留存

    此外,还有热部署插件,使得代码修改后无需重启服务器即可实时生效,提高开发效率。 总结来说,JFinal FastDev 开发基础骨架是一个集成了 JFinal 框架、自动化工具和基础目录结构的项目模板,方便开发者快速构建 ...

    struts2必要lib.zip

    在Struts2中,Freemarker模板被用来渲染视图,允许开发者将业务逻辑与页面展示分离,提高代码的可维护性和可扩展性。 3. **ognl-2.6.11**: Object-Graph Navigation Language (OGNL) 是一种强大的表达式语言,它在...

    springboot-generator配置

    完成以上步骤后,在Spring Boot的启动类中引入`@EnableGenerator`注解,使Generator生效。然后,你可以通过API或命令行工具触发代码生成。例如,你可以创建一个REST端点,允许用户输入参数,调用Generator生成代码...

    sitemesh

    `freemarker.html` 和 `velocity.html` 暗示了Sitemesh可以与FreeMarker和Velocity这两个模板引擎集成,使得动态内容的渲染更加便捷。`meta.html` 和 `meta2.html` 可能是用来演示或测试元数据(如网页标题、描述等...

    SpingBoot-Web静态资源.zip

    10. **热部署**:配合Spring Boot DevTools,可以实现静态资源的热部署,即修改后立即生效,提高开发效率。 这个压缩包可能包含了以上所述的一些示例代码、配置文件或者教程文档,帮助开发者理解如何在SpringBoot...

    服务器端WEB开发新兴技术的最佳实践.pdf

    6. 模板生成与WebService:模板引擎如FreeMarker或Thymeleaf帮助开发者快速构建动态页面,而WebService则提供了跨平台的数据交换标准。这些技术使得服务器端可以专注于业务逻辑,与前端和外部系统通信更加便捷。 7....

    基于Java的YMP轻量级应用开发框架.zip

    6. **热部署支持**:支持热部署,开发者修改代码后无需重启服务器,即可实时生效,提升开发效率。 7. **日志管理**:内置日志管理模块,方便开发者追踪和分析程序运行状态,进行问题定位。 ### 二、主要组件 1. *...

    JFinal快速上手

    - 自动热加载:修改 Java 文件后,无需重启服务即可生效。 - AOP 和拦截器:支持灵活的拦截器配置,方便实现如日志记录、权限控制等功能。 - 插件架构:可扩展性强,允许开发自定义功能的插件。 - 多视图支持:支持...

    SpringBoot面试题(2020最新版)-重点.pdf

    对于第三方项目的整合,如 WebSockets 提供实时通信,Spring Data 支持多种数据库操作,Spring Batch 处理批量数据,FreeMarker 是一个模板引擎,ActiveMQ 是消息中间件,Apache Kafka 是分布式流处理平台,Swagger ...

    jsp文件转换成静态的html

    - 使用专门的工具,如Apache Cocoon、FreeMarker等,它们能根据模板自动生成静态HTML。 - 开发脚本或程序,遍历JSP文件,提取内容并生成HTML。 3. **Web服务器配置**:某些Web服务器(如Apache Tomcat)支持配置...

    SpringBoot基础.pdf

    - 在IDEA中配置自动编译,以便开发时修改代码后可立即生效。 4. SpringBoot与传统Spring项目的不同 - SpringBoot项目通常不需要配置web.xml和Spring的XML配置文件,因为这些被自动配置所替代。 - SpringBoot使用...

    Spring Boot面试题(2022最新版)-重点

    **5.4 什么是 FreeMarker 模板?** FreeMarker 是一款流行的模板引擎,用于生成 HTML 页面或其他格式的文本文件。Spring Boot 支持 FreeMarker 作为视图渲染引擎。 **5.5 如何集成 Spring Boot 和 ActiveMQ?** ...

    jfinal-1.9-src.zip

    9. **热加载**:JFinal支持代码热加载,开发过程中修改的代码无需重启服务器即可生效,提高了开发效率。 【压缩包子文件的文件名称列表】"com"表明压缩包内可能包含的是Java源代码,按照Java的包命名规范,"com"...

    Java Web Application Framework-开源

    它支持热加载,即代码修改后无需重启服务器即可生效,提升了开发效率。Play Framework使用Anorm或Ebean作为ORM工具,易于处理数据库操作,同时提供了对WebSocket协议的支持,利于实现实时交互功能。 JSF(Java...

Global site tag (gtag.js) - Google Analytics