首页 > VTL-vm模板的变量用法

VTL-vm模板的变量用法

加载foot模块页

#parse("foot.vm")

#foreach($item in $tables)

 #set($strEnd = $item.Length - 1)

 #set($sheetName = $item.Substring(0, $strEnd))

 

#end

$strEnd也可以看做一个字符串来操作

$item.Substring(0,15) 取出从0开始的15个字符

------------------------------------------------------------------------------------------

//$listType才能用ToString()时,不能用$!{listType}不会出错不能被ToString();

//$listType.toString('f2'),四舍五入,保留两小数。toString();可以加很多的参数,查查参数表.

#if($listType.ToString() == "List")

 #foreach($item in $items)

 

  • $!{item.PositionName}


  •  #end

    #elseif($listType.ToString() == "Select")

     

    #end

    //#foreach()的循环用法。



    ---------------------------------------------------------------------------------------

    2008-1-5:作VTL表达式,Castle工程

    VTL表达式不区分大小写,可以调用方法,属性,

    //$velocityCount是统计循环的次数,从1弄开始计算

    #set($foo="Holle") ${foo}world

    ##:是单行注释。#**#:多行注释。



    #foreach($info in $array)

     

     

     

     

     

     

     

    #end

    $velocityCount ##统计循环的次数从1开始计$!{info.name}$!{info.Password}$!{info.Age}$!{info.getvalue}


    循环Hashtable是的用法

    $allProducts是Hashtable的对象

    #foreach($var in $allProducts)

     ##var.key:获取键 var.value:获取值

     $!{var.key}->$!{var.value}

    #end

    //另一种Hashtable的循环用法

    vm页面用关键字点键名。

    $!{hash.aa}



    $!{hash.bb}



    $!{hash.cc}



    $!{hash.dd}



    Controll层里

    public void Index()

    {

     Hashtable hash = new Hashtable();

     hash.Add("aa","one");

     hash.Add("bb",DateTime.MaxValue);

     hash.Add("cc",DateTime.MinValue);

     hash.Add("dd",DateTime.Now.ToString());

    }

    -------------------------------------------------------------------------------------

    ##是可以用来输出字面的意思是原样输出(注释用的)

    #literal()

    #foreach($woogie in $boogie)

     nothing will happen to $woogie

    #end

    #end

    -----------------------------------------------------------------------------------------

    //$type里面的一些方法,比较有用。

    #if($type.ToLower() != "noservice")  ToLower():是小写字符串的方法。

    ToString():

    #set($index=$item.Content.IndexOf(","))

    $!{item.ReceiveTime.ToString("yyyy-mm-dd HH:mm")}

    $!{consumeLog.OperateDate.ToString("yyyy-MM-dd HH:mm")}

    $!{consume.ConsumeDate.ToString("d")}

    $!{consume.ConsumeDate.ToString("t")}

    $!{sign.FirstStartTime.ToShortDateString()}与$!{sign.FirstStartTime.ToString("yyyy-MM-dd")}效果一样的。

    #set($index = $customer.IndexOf(","))取得逗号位置

    $r.Phone.Substring(0,7)****:取出电话号码为:1371093****

    -----------------------------------------------------------------------------------------

    this.ProprtBag.Add("time",DateTime.Now);

    //用来判断是否为空

    #if($time!="")

     

    $!time



    #end

    //当有数组是判断是否是数

    #if($items.Count>0)

     #foreach($item in $items)

      $!{item}

     #end

    #end

    -----------------------------------------------------------------------------------------

    #elseif:多重条件判断

    #if(!$order)

     100001

    #elseif($order.CustomerId && $order.CustomerId != "" && $order.CustomerId != $userName)

     100002

    #elseif($order && ($order.CustomerId == "" || !$order.CustomerId || $order.CustomerId == $userName))

     100003

    #end

    -----------------------------------------------------------------------------------------------------

    :来注释页面上用的,不能有套用会无法注释的如: -->

    ---------------------------------------------------------------------------------------------------------

    //会依次显示,当翻页面时也会接着上一页继续显示编号。其中14为每一页显示的条数,根据需要而调整

    #if(!$page || $page <= 0)

     #set($page = 1)

    #end

    #set($rowIndex = ($page - 1) * 14 )

    #foreach($log in $logDt.Rows)

     $rowIndex

    #end

    ---------------------------------------------------------------------------------------------------------

    $!{consumeLog.OperateDate.ToString("yyyy-MM-dd HH:mm")}

    ---------------------------------------------------------------------------------------------------------

    #if(!$log.UserName || $log.UserName == "")

     未绑定

     


    #else

     http://$!%7blog.username%7d.i.myking.cn/" target="_blank">进入TA的个人王国

    #end

    用来判断为空值时的处理

    -----------------------------------------------------------------------------------------------------------

    DataTable或者DataSet的页面数据加载。

    ---------------------*.vm----------------------------------------------------------------------------------

    页面上写的是

    #foreach($log in $table.Rows)

     $!{log.Id}>>>$!{log.User}>>>$!{log.Phone}

    #end

    ----------------controller----------------------------------

    public void Index()

    {

     DataTable table = new DataTable();

     table.Columns.Add("Id",typeof(int));

     table.Columns.Add("User",typeof(string));

     table.Columns.Add("Phone",typeof(string));

     for(int i=0;i<3;i++)

     {

      DataRow row = table.NewRow();

      row["Id"]=i;

      row["User"]="cheng";

      row["Phone"]="2222222";

      table.Rows.Add(row);

     }

     this.ProperBag.Add("table",table);

    }

    ----------------------------DateSet数据绑定页面------------------------------------

    #foreach($t in $ds.Tables)

     

     

      #foreach($col in $t.Columns)

       

      #end

     

     #foreach($r in $t.Rows)

     

      #foreach($c in $r.ItemArray)

       

     #end

     

     #end

     
    $col.ColumnName.Replace("日","")


       #if($c==0)--#end

      #if($c>0) $c.ToString() #end


    #end

    ---------------------后台的代码----------------------------------------------------

    using(DataSet ds=_cardsSituation.ByCardType(CurrentMerchant.UserName,year,month))

    {

     PropertyBag.Add("ds",ds);

    }

    -------------------------------------------------------------------------------------

    //时间日期的判断

    #if($!{Member.Isusedate.ToShortDateString()} =="0001-1-1")

     ----

    #else

     $!{Member.Isusedate.ToShortDateString()}

    #end

    -------------------------------------------------------------------------------------

    //用于计算剩余的值

    #set($Balance = $!item.Money - $!item.FactMoney)

    $Balance.toString('f2')

    -------------------------------------------------------------------------------------

    //用来显示DataTable dt类型数据的方法。

    #foreach($col in $dt.Columns)

     $col.ColumnName

    #end



    #foreach($dr in $dt.Rows)

     

     #foreach($c in $dr.ItemArray)

      

      #if(!$c || $c.ToString()=="" || $c.ToString()=="0")

      --

      #else

      $c.ToString()

      #end

     #end

     

    #end

    --------------------------------------------------------------------------------------

    ---------------------*.vm------------------------------------

    页面上写的是

    #foreach($log in $table.Rows)

     $!{log.Id}>>>$!{log.User}>>>$!{log.Phone}

    #end

    ----------------controller----------------------------------

    public void Index()

    {

     DataTable table = new DataTable();

     table.Columns.Add("Id",typeof(int));

     table.Columns.Add("User",typeof(string));

     table.Columns.Add("Phone",typeof(string));

     for(int i=0;i<3;i++)

     {

      DataRow row = table.NewRow();

      row["Id"]=i;

      row["User"]="cheng";

      row["Phone"]="2222222";

      table.Rows.Add(row);

     }

     this.ProperBag.Add("table",table);

    }



    ----------------------------DateSet数据绑定页面-----------------------------------------------------

    #foreach($t in $ds.Tables)

      



      

      #foreach($col in $t.Columns)

       

      #end

      

      #foreach($r in $t.Rows)

       

       #foreach($c in $r.ItemArray)

        

       #end

       

      #end

      
    $col.ColumnName.Replace("日","")


        #if($c==0)--#end

        #if($c>0) $c.ToString() #end


     #end

    ---------------------后台的代码

    using(DataSet ds=_cardsSituation.ByCardType(CurrentMerchant.UserName,year,month))

    {

     PropertyBag.Add("ds",ds);

    }

    转载于:https://www.cnblogs.com/wei9931/archive/2009/05/23/1487931.html

    更多相关:

    • 练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式------------ info of Egon -----------Name  : EgonAge   : 22Sex   : maleJob   : Teacher ------------- end -----------------完成情况:in_name=inpu...

    •   语法 它通过{}和:来代替%。 “映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.forma...

    • --------------------------------------------------------------------------------------- 本系列文章为《机器学习实战》学习笔记,内容整理自书本,网络以及自己的理解,如有错误欢迎指正。 源码在Python3.5上测试均通过,代码及数据 --> http...

    • 首先运行easy_install pymongo命令安装pymongo驱动。然后执行操作: 创建连接 1 In [1]: import pymongo 2 3 In [2]: connection = pymongo.Connection('localhost', 27017) 切换到数据库malware In [3]: db...

    • 代码: public class Person{public int ID { get; set; }public string Name { get; set; }public int Age { get; set; } }public class Dog{public int ID { get; set; }...