freemarker基本用法

本文详细介绍了FreeMarker模板引擎的基本用法,包括变量赋值、条件判断、循环操作及内置函数等内容。通过实例展示了如何设置运行环境、处理日期格式、进行数值运算等常见需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<html>
<body>
        <hr/>
          <h2 align="center">测试登录页面</h2>
<hr/>
  <form name="index"  id="form1" action="/firstSkip/ShowSecond.shtm" method="post">
    <table border="1" align="center">
      <tr>
                                        <td>用户名:</td>
                <td><input name="userName" type="text" /></td>
      </tr>
      <tr>
                                <td>密   码:</td>
                                <td><input class="input" name="passWord" type="password"/></td>
      </tr>
      <tr>
                                        <td colspan="2" align="middle">
                                                <input name="button" type="reset" value="登录"/>
                                        <input name="button" type="submit" value="注册"/>
                                        </td>
      </tr>
    </table>
    ${userName}<br/>
    ${passWord}<br/>
    ${userId}<br/>
  </form>
  <br/>

  <#--对于货币的设置-->
     <#setting number_format = "currency" />
       <#assign price = 42 />
       ${price}<br/>
       ${price?string}<br/>
       ${price?string.number}<br/>
       ${price?string.currency}<br/>
       ${price?string.percent}<br/>
  <#--对于货币的设置 end-->

  <#--日期的显示设置-->
        <#assign lastUpdated = "2009-01-07 15:05"?datetime("yyyy-MM-dd HH:mm") />
      ${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")}<br/>
      ${lastUpdated?string("EEE,MMM d,yy")}<br/>
      ${lastUpdated?string("EEEE,MMMM dd,yyyy,hh:mm:ss a '('zzz')'")}<br/>
      ${lastUpdated?string.short}<br/>
      ${lastUpdated?string.long}<br/>
    <#--日期的显示设置end--><br/>


    <#--布尔值的显示设置-->
      <#assign foo=true />
      ${foo?string("是","否")}<br/>
    <#--布尔值的显示设置end -->


   <#--指定输出数字的整数小数位数设置-->
   <#assign x = 1122.582 />
        <#assign y =444.23232 />
        #{x;M2}<br/>
        #{y;M2}<br/>
        #{x;M1}<br/>
        #{y;M1}<br/>
        #{x;m1}<br/>
        #{y;m1}<br/>
        #{x;m1M2}<br/>
    <#--指定输出数字的整数小数位数设置-->    


  <#--设置字符串-->
${'我的名字是/"yeek/"'}<br/>
${"我的文件保存在d:盘"}<br/>
  <#--设置字符串end-->

  <#--FreeMarker支持date、time、datetime三种类型,
  这三种类型的值无法直接指定,通常需要借助字
  符串的date、time、datetime三个内建函数进行转换才可以-->
  <hr/>
    <#assign test1 = "2009-01-22"?date("yyyy-MM-dd") />
     <#assign test2 ="16:34:43"?time("HH:mm:ss") />
     <#assign test3 = "2009-01-22 17:23:45"?datetime("yyyy-MM-dd HH:mm:ss") />
     ${test1?string.full}<br/>
     ${test2?string.full}<br/>
     ${test3?string.full}<br/>


  <hr/>
  <#--   集合以方括号包括,各集合元素之间以英文逗号(,)分隔-->
    <#list ["星期一","星期二","星期三","星期四","星期五"] as s>
         ${s}<br/>
        </#list>
  <#--   集合以方括号包括,各集合元素之间以英文逗号(,)分隔 end-->

<hr/>
<#--Map集合
       Map对象使用花括号包括,Map中的key-value对之间以英文冒号(:)隔开,
         多组key-value对之间以英文逗号(,) 隔开-->  
   <#setting number_format = "">
  <#assign score = {"语文":78,"数学":83,"Java":89} >
             <#list score?keys as x>
              ${x}--->${score[x]}<br/>
             </#list>
  <#--Map集合 end-->
  <hr/>
  ${"$只能用于文本部分"}<br/>
  <hr/>
${"hello ${userName}! "}<br/>
${"hello "+userName+"!"}<br/>
<hr/>
<#--截取map元素的字符串-->
<hr/>
<#assign x = 5 />
           ${x* -100}
           ${x/2}
           ${12%10}
<br/>
<hr/>
${"内建函数
          FreeMarker还提供了一些内建函数来转换输出,可以在任何变量后紧跟?,<br/>
          ?后紧跟内建函数,就可通过内建函数来转换输出变量<br/>
          下面是常用的内建的字符串函数<br/>
          a、html:对字符串进行HTML编码<br/>
          b、cap_first:将字符串第一个字母成大写<br/>
          c、lower_case:将字符串转换成小写<br/>
          d、upper_case:将字符串转换成大写<br/>
          e、trim: 去掉字符串前后的空白字符"}<br/>
               下面是集合的常用的内建函数<br/>
          a、size: 获得序列中元素的数目<br/>
          下面是数字值的常用的内建函数<br/>
          a、int 取得数字的整数部分<br/>
          空值处理运算符
          FreeMarker对空值的处理非常严格,FreeMarker的变量必须有值,没有被赋值的变量就会抛出异常。<br/>
          <hr/>
            <#assign test="Tom & Jerry" />
          ${test?html}<br/>
          ${test?upper_case?html}
<#--内建int函数使用-->
<hr/>
           <#assign x = 5>
            ${(x/2)?int}
            ${1.1?int}
            ${1.999?int}
            ${-1.9999?int}
            ${-1.1?int}
            <hr/>
            <br/>
            ${"FreeMarker 的常用处理指令"}<br/>
            ${"
                    <#if condition><br/>
                    <#elseif condition><br/>
                    <#else><br/>
                    </#if><br/>
            "}
           <hr/>
           ${"
                   <#switch relVal><br/>
                   <#case refVal><br/>
                   <#break><br/>
                   <#default><br/>
                   </#switch><br/>
           "}
           <hr/>
        <#--<#noparse>-->
           <#--在迭代中用ifelse-->
          <#list ["星期一","星期二","星期三","星期四","星期五"] as x>
          ${x_index}.${x} <#if x_has_next>,</#if>
          <#if x = "星期四"><#break></#if>
      </#list>
      <#--</#noparse>-->
      <hr/><br/>
      ${"setting指令
        该指令用于设置FreeMarker的运行环境,该指令的语法格式如下:<br/>
        <#setting name = value><br/>
         name 的取值范围包括如下几个<br/>
         locale :该选项指定该模板所用的国家/语言选项<br/>
         number_format:该选项指定格式化输出数字的格式<br/>
         boolean_format:该选项指定两个布尔值的语法格式,默认值是/"true、false/"<br/>
         date_format,time_format,datetime_format:该选项指定格式化输出日期的格式<br/>
         time_zone:  设置格式化输出日期时所使用的时区"}<br/>
<body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值