Springboot整合Freemarker模版引擎进行页面的开发

现在的主流开发模式都是采用前后端分离开发,但是作为个人开发者来说,前后端分离开发所带来的问题也是不少的,例如常见的ajax跨域问题,笔者在跨域请求的问题上使用了jsonp来解决,但是这次我们主要来讲讲结合Freemarker模版引擎(前后端不分离)来进行页面的开发。

对于不会设计页面的前端小白们来说,福音到了,因为现在有很多优秀的开源BootStrap现成模版可以供给我们使用。那么后端程序员在开发上有不用过多的关注页面的开发,减少开发时间。

Freemarker的原理图如下:

Figure

接下来我来讲述一下Springboot整合Freemarker模版引擎(类似jsp)的一些步骤。

1.首先新建一个Springboot web项目(Maven),笔者在之前的博文已经给出,这里就不做阐述。

2.新建好Springboot web项目之后,我们需要为项目添加Freemarker依赖。找到pom文件,添加以下依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

3.我们在application.properties文件

#Freemarker配置
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.charset=utf-8
spring.freemarker.cache=false
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.suffix=.ftl

4.根据第三步的配置信息,我们在resources中的templates文件夹里新建flt文件(与html语法大致相同)

5.编写测试类。

①Controller:

@Controller
public class TestProject {
    @RequestMapping(value = "/HelloFreemarker")
    public String HelloTest(Model m){
        m.addAttribute("name","小明");
        m.addAttribute("sex","男");
        m.addAttribute("age","23");
        return "/HelloWorld";
    }
}

②HelloWorld.ftl文件:

6.编译执行的结果如下图:

至此,数据已经能在视图层显示。

关于Freemarker的更多使用方法请查阅官方文档:https://freemarker.apache.org/ 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Freemarker是一种模板引擎,可以将数据和模板进行整合生成输出内容。SpringBoot提供了对Freemarker的支持,可以很方便地整合Freemarker。 1. 添加依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> ``` 2. 配置文件 在application.properties文件中添加以下配置: ```properties spring.freemarker.template-loader-path=classpath:/templates/ spring.freemarker.cache=false ``` - template-loader-path:模板文件的路径,这里设置为classpath:/templates/,表示在项目的classpath下的templates目录中查找模板文件。 - cache:是否开启模板缓存,这里设置为false,表示关闭缓存。 3. 创建模板文件 在classpath:/templates/目录下创建一个名为index.ftl的模板文件,内容如下: ```html <!DOCTYPE html> <html> <head> <title>SpringBoot整合Freemarker</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 4. 创建控制器 创建一个名为IndexController的控制器,代码如下: ```java @Controller public class IndexController { @RequestMapping("/") public String index(Model model) { model.addAttribute("message", "Hello, World!"); return "index"; } } ``` 该控制器中,使用@RequestMapping注解指定了请求路径为/,并将一个名为message的属性值设置为“Hello, World!”,然后返回了index作为视图名称。由于配置了spring.freemarker.template-loader-path=classpath:/templates/,所以SpringBoot会在classpath:/templates/目录下查找名为index的模板文件,并将模板文件中的${message}替换为“Hello, World!”。 5. 运行程序 启动应用程序,访问http://localhost:8080/,可以看到页面中显示了“Hello, World!”的字样。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值