freemarker常见的一些用法(一)

2018-01-04 10:23:46 浏览数 (2)

今天给大家介绍一下freemarker基本用法,例如:if、 list、 判断是否为空、获取值等等之类的。

在使用之前要先在模板中设置值,这里我使用的是SpringMVC中的设置值方法,下面看下案例:

代码语言:javascript复制
 @RequestMapping(value = {"contentupdate"},method = RequestMethod.GET)
    public String contentUpdate(HttpServletRequest request,Map model){
        String id=request.getParameter("id");
        FloorContent floorContent=floorContentApi.getFloorContent(id);
        Floor floor=new Floor();
        model.put("contentName",floorContent.getName());
        Copys.create().from(floorContent.getFloor()).excludes("floor").to(floor);
        model.put("floorName",floor.getName());
        model.put("floorId",floor.getId());
        model.put("showIndex",floorContent.getShowIndex());
        List<Floor> list=floorApi.getList();
        model.put("list",list);
        model.put("type",floorContent.getType());
        model.put("contentImageUrl",floorContent.getContentImageUrl());
        model.put("linkUrl",floorContent.getLinkUrl());
        model.put("picSearchContent",floorContent.getPicSearchContent());
        model.put("id",floorContent.getId());
        System.out.println("json:" Jsons.toJson(model));
        return "floorcontent/content-update";
    }

从例子中可以很明显的看出,只要在map中设置值就可以了,非常方便。

下面就介绍如何在html中取值操作:

代码语言:javascript复制
  <#list list as floor>
      <#if floorId == floor.id>
          <option value="${floor.id}" selected="selected">${floor.name}</option>
       <#else>
            <option value="${floor.id}">${floor.name}</option>
        </#if>
  </#list>

这个例子可以很明显的看出:list表示循环、if表示判断、${字段名称}表示取值。

但是有一点需要注意的是如果想要判断是否为null则不能像java一样直接判断,freemarker有自己一套独特的判断方法。

我这里举一个应用的例子,不过这个例子只是判断是否为null的一种方法。

代码语言:javascript复制
 <#if contentImageUrl?exists>
     <label for="" class="col-sm-2 control-label" style="margin-left: -20px;">图片路径:</label>            
  </#if>

如果大家想要了解判断不为空的其它方法,或者是如果为空要怎么赋初始值之类的方法,我在接下来的博客中会进行介绍。

如果大家想要源代码或者对文章有啥异议都可以加我QQ:208017534  欢迎打扰哦!!!

0 人点赞