freemark-语法2

 公司的平台通过freemarker来生成html,需要对freemarker的语法进行熟悉以及了解;再此记录下学习的过程。

业务数据模板第一次解析用到的freemark语法如下:

1.需要第二次才进行解析的代码用noparse标签包裹

<#noparse>
<#setting number_format="#">
<#assign xxx=bean.xxx?eval>
</#noparse>

2.查询头

具体的顶部按钮,第二次进行解析:

<#--查询头-->
  <div class="panel-top">
    <div class="tbar-title">
      <span class="tbar-label">${bean.name}</span>
    </div>
      <div class="panel-toolbar">
        <div class="toolBar">
          <#if hasCondition>
            <div class="group"><a class="link ajaxSearch" href="#" οnclick="aasd(this)"><span></span>查询</a></div>
            <div class="l-bar-separator"></div>
          </#if>
          <#if hasManage>
                    <#noparse><#list manageFields as manage>
                      <@genToolBar gendex='${manage_index}' manage=manage managePermission=managePermission actionUrl=actionUrl/>
                      </#list></#noparse>
         </#if>
        </div>
      </div>
3.查询条件解析

通过自定义宏命令,生成自定义查询区域

    <#if hasCondition >
      <div class="panel-search">
        <form id="searchForm" name="searchForm" method="post" action="<#noparse>${searchFormURL}</#noparse>">
        <#--查询条件-->
          <#if conditionFields?if_exists>
            <ul class="row">
            <#list conditionFields as field>
              <li>
                <@genCondition field=field formatData=formatData/>
              </li>
            </#list>
            </ul>
          </#if>
        </form>
      </div>
    </#if>
4.数据表头

含有ftl命令,且需要第二次才解析的代码块,需要使用<#noparse>标签包裹,

<tr>
          <#noparse>
          <#if checkbox>
              <th> <input id="chkall" type="checkbox"></th>
           </#if>
           </#noparse>
          <#noparse>
	      <th>序号</th>
          </#noparse>
           <#-- 显示字段-->
          <#list displayFields as field>
               <#noparse><#if permission.</#noparse>${field.name}<#noparse>></#noparse>
                 <th>
              <#if field.type!="clob">
                <#noparse>
                <a href="#" οnclick="linkAjax(this)" action="${pageURL}&${tableIdCode}__ns__=</#noparse>${field.name}<#noparse>"></#noparse>
                  ${field.desc}<#noparse><#if (sortField?? && sortField=="</#noparse>${field.name}<#noparse>")><#if (orderSeq=="ASC")>↑<#else>↓</#if></#if>
                </a>
                </#noparse>
              <#else>
                  ${field.desc}  
              </#if>
                </th>
                <#noparse></#if></#noparse>
          </#list>
          <#if hasManage>
            <th width="80px">管理</th>
          </#if>
        </tr>

4.数据体

<#noparse>
          <#list bpmDataTemplate.list as data>
          <tr class="<#if data_index % 2 == 0>odd</#if><#if data_index % 2 == 1>even</#if>" align="center">
          <#if checkbox>
        </#noparse>
              <td style="width:30px;">
                          <input class="pk" type="checkbox" value="<#noparse>${data.</#noparse>${pkField}<#noparse>}</#noparse>" name="${pkField}">
                        </td>
                 <#noparse>
                    </#if>
                </#noparse>
        <#--序号-->
                <#noparse><td style="width:30px;">${data_index+1}</td> </#noparse>
          <#list displayFields as field>
            <#noparse><#if permission.</#noparse>${field.name}<#noparse>></#noparse>
              <td>
                <#noparse>${data.</#noparse>${field.name}<#noparse>}</#noparse>
              </td>  
            <#noparse></#if></#noparse>
          </#list>
          <#if hasManage>
            <td  class="rowOps">
              <#noparse><#list manageFields as manage>
                <@genManage mindex='${manage_index}' manage=manage managePermission=managePermission actionUrl=actionUrl pk=data.</#noparse>${pkField}<#noparse>/>
              </#list></#noparse>
            </td>
          </#if>
          </tr>
        <#noparse></#list></#noparse>
      </table>
5.脚本解析

function getParam(name){
  switch(name){
    <#list manageFields as manage>
    case '${manage_index}_${manage.name}':
      <#if manage.paramscript!=null&&manage.paramscript!=''>
        ${manage.paramscript};
      <#else>
        return true;
      </#if>
      break;
    </#list>
  }
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值