springboot+freemarker+restful

springboot+freemarker+restful

什么是freemarker?

FreeMarker是一种模板引擎,它可以用于生成各种类型的文档,比如HTML、XML、PDF、Word等。它可以通过简单的模板语法和数据模型来生成文档内容。与传统的JSP相比,FreeMarker的语法更加简洁和易读,并且可以很好地与前端框架结合使用。同时,FreeMarker还提供了一些高级功能,如国际化支持、条件语句、循环语句等,使得模板的编写更加方便和灵活。FreeMarker是一个开源的项目,使用Java语言编写,可以在不同的平台上运行。

springboot+freemarker配置文件 spring: freemarker: #freemarker和get一样会有缓存,如果为false那么就是清楚缓存。 cache: false # 页面编码 charset: UTF-8 # 文档类型 content-type: text/html;charset=UTF-8 enabled: true # 模板后缀 suffix: .ftl # 模板加载路径 template-loader-path: classpath:/views/# 配置模板里从哪里可以直接取request的属性 request是别名 request-context-attribute: request request-context-attribute: request# 配置将request和session中的键值添加到AbstractTemplateView类的renderMergedOutputModel方法中的model这个Map参数中 expose-request-attributes: true expose-spring-macro-helpers: true # 配置模板里是否可以直接取session的属性 true 是允许 expose-session-attributes: true settings: tag_syntax: auto_detect# 配置标签语法为自动,页面可以将 改为 #[],为了区别 html 标签 template_update_delay: 0# 模板更新时间,单位秒 default_encoding: UTF-8# 默认编码字符集 output_encoding: UTF-8# 模板输出编码字符集 locale: zh_CN# 本地化配置 date_format: yyyy-MM-dd# 日期格式化 time_format: HH:mm:ss# 时间格式化 datetime_format: yyyy-MM-dd HH:mm:ss # 日期时间格式化 number_format: #.### 数字格式化 boolean_format: true,false# boolean格式化 # ignore,debug,html_debug,rethrow # 1.TemplateExceptionHandler.IGNORE_HANDLER简单地压制所有异常 # 它对处理异常没有任何作用,也不会重新抛出异常,页面可以正常渲染,后台抛异常 # 2.TemplateExceptionHandler.DEBUG_HANDLER打印堆栈信息和重新抛出异常。这是默认的异常控制器 # 3.TemplateExceptionHandler.HTML_DEBUG_HANDLER和DEBUG_HANDLER相同 # 但是可以格式化堆栈跟踪信息,HTML页面,建议使用它而不是DEBUG_HANDLER # 4.TemplateExceptionHandler.RETHROW_HANDLER简单重新抛出所有异常而不会做其他的 事情 # 5.使用自定义异常类实现TemplateExceptionHandler重写handleTemplateException方 法 template_exception_handler: html_debug

这里使用了freemarker模板引擎,他会自动配置视图解析器 视图解析器的prefix就是template-loader-path,他的suffix就是suffix。因此我们在Controller页面中返回String的时候视图解析器会自动配置。

@Controllerpublic class ControllerTest { @RequestMapping("/{page}") public String testDo(@PathVariable String page) throws IOException { System.out.println(page); return page; }}

返回的实际上是 /views/{page}.ftl

这是FreeMarker模板语法的一个示例代码,其中assign指令可以用来创建模板变量,ctx是变量名,request.contextPath是变量的值。request是FreeMarker默认提供的一个全局变量对象,可以用来获取HTTP请求相关的信息。在这段示例代码中,我们使用request对象的contextPath属性来获取请求的上下文路径,并将其赋值给ctx变量。通过这种方式,我们可以在模板中使用ctx变量来引用上下文路径,而不必在每个需要使用上下文路径的地方都重复编写该代码。 不是基于 因此他需要

jsp中base标签: 他走的是全路径。协议://服务器名:服务器端口号/上下文路径/

但这个base是基于的意思,已知根路径在webapps下,那么这个base就是截止到webapps,因此在webapps下的路径照样还是写

这个和sql的 效果一样,只不过这个是sql,标题的是文件而已,也就是公用模板的提取。


比丘资源网 » springboot+freemarker+restful

发表回复

提供最优质的资源集合

立即查看 了解详情