spring boot FreeMaker

前面两张我们介绍了spring boot的基本东西,这一章我们就要说说spring boot和前端如何交互。
大家平时可能在写web项目的时候用到的jsp比较的多,有的可能会用到H5、HTML之类的。在这里我们用freemaker进行数据展示,至于freemaker和jsp的对比我在这里简单的说一下,仅作参考。
jsp是大家最熟悉的技术
优点:
1、功能强大,可以写java代码
2、支持jsp标签(jsp tag)
3、支持表达式语言(el)
4、官方标准,用户群广,丰富的第三方jsp标签库
5、性能良好。jsp编译成class文件执行,有很好的性能表现
缺点:
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。

velocity是较早出现的用于代替jsp的模板语言
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能良好,据说比jsp性能还要好些
3、使用表达式语言,据说jsp的表达式语言就是学velocity的
缺点:
1、不是官方标准
2、用户群体和第三方标签库没有jsp多。
3、对jsp标签支持不够好

freemarker
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能非常不错
3、对jsp标签支持良好
4、内置大量常用功能,使用非常方便
5、宏定义(类似jsp标签)非常方便
6、使用表达式语言
缺点:
1、不是官方标准
2、用户群体和第三方标签库没有jsp多

选择freemarker的原因:
1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。
2、宏定义比jsp tag方便
3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便
4、支持jsp标签
5、可以实现严格的mvc分离
(原文参考:http://blog.csdn.net/tjcyjd/article/details/16803877)
这也就是为什么spring boot提倡用freeMaker的原因了。下面就直接上硬菜吧。
接着我们之前的项目继续写,之前的项目我们已经写好了application.java
pom.xml添加jar

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

现在我们要在resource下创建application.yml文件,内容如下

spring:
 freemarker:
        cache: false
        request-context-attribute: request
 mvc:
        view:
            prefix: /templates/
            suffix: .ftl

注意上面空格的缩进,在用eclipse或者myeclipse的时候 前面的空格千万不要用 tab 会报错的 就老老实实打空格吧。
解释一下最前面的spring不能有空格表示这下面的东西都是spring相关配置,freemarker就是我们的页面展示层的配置,前面是需要空格的想打多少看你个人的,mvc就是我们在用springmvc时候配置视图解析器用的,下面就是他们的具体属性配置了,在这里我们将prefix 配置成 /templates/ ,suffix 配置成 .ftl(因为freeMaker默认是.ftl格式的文件),其实这个可以不需要配,spring boot默认是这样配置的。
上面我们prefix配置了 /templates/接下来我们就要在resource下面创建这个文件夹了。

创建好文件夹后我们先创建一个页面index.ftl

<html>
  <head>
  </head>
  <body> 
      hello world!
  </body>
</html>

里面的内容是不是个jsp的内容很相似呢?需要注意的是freeMaker自带许多标签的,有兴趣的可以去度娘一下,这里就不(我)多(也)说(不)了(会),后期再说。
到这里,我们在看一下controller。

@Controller
@EnableWebMvc
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @RequestMapping("/")
    String home(){
        return "index";
    }
}

然后启动,我们访问http://localhost:8080 就可以看到hello world!了。
(博主目前也在学习这个东东,如果写的不好欢迎指正,如果遇到问题欢迎提问。)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值