Freemarker

使用 Spring Boot + Freemarker 开发 i18n 国际化应用

i18n(Internationalization),即国际化。目的是为了使软件、应用或网站能够适应不同的语言、地区,用户可以选择他们熟悉的语言进行交互,为所有用户提供一致的体验。 本文将会带你了解如何使用 Spring Boot + Freemarker 实现国际化。 假设我们有一个登录页面,其中有 2 个输入框,分别用于输入 用户名 和 密码。对于使用不同语言的用户,需要显示不同的输入框名称。 创建项目 在 pom.xml 中添加 web 和 freemarker stater 依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 配置 定义国际化资源文件 通常我们会把项目中需要国际化的内容定义在不同的 properties 文件中,通过 properties 文件名的后缀来表示资源的 语言 和 国别。 在 resources 目录下创建 i18n 目录,用于存放国际化资源文件。接着,在 i18n 目录中创建如下 3 个 properties 文件,如下: message.properties # message.properties 的内容 # 空着就行 message_en_US.properties # message_en_US.properties 的内容 # 英文 login.username=USERNAME login.password=PASSWORD message_zh_CN.properties # message_zh_CN.properties 的内容 # 中文 login.

Spring Boot 整合 Freemarker 模板引擎

在前后端分离架构大行其道的今天,模板引擎依然有着重要的地位和不可代替性。 Freemarker 是一款界开源的老牌模板引擎,使用 Java 开发,Spring 官方对 Freemarker 提供了支持。本文将会带你学习如何在 Spring Boot 中整合 Freemarker。 创建项目 在 pom.xml 添加 spring-boot-starter-web 和 spring-boot-starter-freemarker 依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 编写模板 根据 Spring Boot 约定,模板文件应该放在 src/main/resources 目录下的 templates 目录中。 在 templates 目录中,创建 index 文件夹,用于存放渲染主页的 index.ftl 模板视图,如下: 其中 index.ftl 内容如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Freemarker</title> </head> <body> Hello ${title}! </body> </html> 如上,模板只是简单地输出了 Model 中的 title 属性。 配置属性 Spring Boot 提供了很多配置属性,可用于在 application.yaml | properties 中定制 Freemarker。 这些属性都以 spring.