[发明专利]一种基于SpringMVC渲染FreeMarker模板的方法在审
申请号: | 201811018979.X | 申请日: | 2018-09-03 |
公开(公告)号: | CN109375911A | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 朱静轩;王振;章文友;孟彦 | 申请(专利权)人: | 中新网络信息安全股份有限公司 |
主分类号: | G06F8/35 | 分类号: | G06F8/35 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 冯子玲 |
地址: | 230088 安徽省合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 渲染 模板加载 模板前缀 加载 重写 软件开发技术 查找 模板设置 模板视图 项目工程 返回 继承 | ||
本发明涉及JAVA WEB软件开发技术领域,具体涉及一种基于SpringMVC渲染FreeMarker模板的方法,包括如下步骤:实现FreeMarker的模板加载器接口,重写查找模板方法,为多种来源的ftl模板设置相应的前缀进行区分,在查找模板的方法中根据模板前缀返回相应来源的ftl模板;继承Spring的FreeMarker模板视图对象,重写渲染视图方法,在渲染视图的方法中,判断视图的url是否为空字符串,如果不为空字符串,则渲染默认模板加载器加载的项目工程中特定目录下的ftl模板,如果为空字符串,则渲染扩展模板加载器中根据ftl模板前缀和模板名称加载的相应来源的ftl模板。本发明通过扩展SpringMVC框架渲染FreeMarker模板的方法,实现了同时支持渲染多种来源的FreeMarker模板的方法。
技术领域
本发明涉及JAVA WEB软件开发技术领域,具体涉及一种基于SpringMVC渲染FreeMarker模板的方法。
背景技术
FreeMarker是一款模板引擎,即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
模板编写为FreeMarkerTemplateLanguage(FTL)。它是简单的,专用的语言,不是像PHP那样成熟的编程语言。那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,之后模板显示已经准备好的数据。在模板中,可以专注于如何展现数据,而在模板之外可以专注于要展示什么数据。FreeMarker常被用来在MVC模式的Web开发框架中生成HTML页面,在常见JavaWeb开发框架SpringMVC中,Freemarker模板作为视图层来进行渲染和展示,ftl模板都是存放在项目工程中的特定目录下,对于有些特殊需求,需要从数据库中加载ftl模板或者从其他来源加载ftl模板并进行渲染,所以需要能够实现SpringMVC中同时支持渲染多种来源的ftl模板。SpringMVC框架中只对存放在项目工程中特定目录下的ftl模板进行渲染,不能同时支持渲染多种来源的ftl模板。
发明内容
本发明的目的就是提出了一种通过在SpringMVC原有基础上进行扩展,实现同时支持渲染多种来源的ftl模板的方法。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现的:
一种基于SpringMVC渲染FreeMarker模板的方法,包括如下步骤:
步骤1、实现FreeMarker的模板加载器接口,重写查找模板方法,为多种来源的ftl模板设置相应的前缀进行区分,在查找模板的方法中根据模板前缀返回相应来源的ftl模板;
步骤2、继承Spring的FreeMarker模板视图对象,重写渲染视图方法,在渲染视图的方法中,判断视图的url是否为空字符串,如果不为空字符串,则渲染默认模板加载器加载的项目工程中特定目录下的ftl模板,如果为空字符串,则渲染扩展模板加载器中根据ftl模板前缀和模板名称加载的相应来源的ftl模板;
步骤3、在spring配置文件中,在FreeMarker视图解析器中配置扩展的视图对象View,配置扩展的FreeMarker模板加载器;
步骤4、在后端控制器中的处理方法中设置视图路径为空字符串,并通过在视图模型对象中添加模型数据,键为任意标识,值为“模板前缀+模板名称”。
本发明的有益效果:通过扩展SpringMVC框架渲染FreeMarker模板的方法,实现了同时支持渲染多种来源的FreeMarker模板的方法。
附图说明
为了更清楚地说明本发明的技术方案,下面将对技术方案描述所需要使用的附图作简单地介绍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中新网络信息安全股份有限公司,未经中新网络信息安全股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811018979.X/2.html,转载请声明来源钻瓜专利网。