mybatis-plus代码生成器

for循环

#foreach({$acc in $!{param.tools}})
    #set($count = $count + 1 )
    <li custom-data="${!acc.orgcode}" cube-data="$!{acc.owner}" node-data="${!acc.balance}">
    	<a href="javascirpt:void(0);">${!acc.accountName}&emsp;可用余额&emsp;${!acc.balance}元</a>
    </li>
    #end

if条件语句

#if(${supportWorkerPay})
#end

form表单提交

<form autocomplete="off" id="pursePayForm" action="/purse/pursePay.htm" method="post">
    <input type="hidden" name="orderId" value="$!{param.orderId}"/>
    <input type="hidden" name="amount" value="$!{param.amount}"/>
    <input type="hidden" name="encryptContent" value="$!{param.encryptContent}"/>
    <input type="hidden" name="encryptPwd" value=""/>
    <input type="hidden" name="validateCode" value=""/>
    </form>
    
$("#pursePayForm").submit();

嵌套vm

#parse(parsefoo.vm)

velocity三种reference

  • 变量:对Java对象的一种字符串化表示,返回值调用Java的toString( )方法的结果。
  • 方法:调用的是对象的某个方法,该方法必须是public的,返回值也是toString( ),方法的参数也必须是String的。
  • 属性:除了访问java的类属性外,等价于get…( ) 方法。

vm基本符号

  1. “#”:来标识 velocity 的脚本语句。
  2. “$”:来标识一个对象(或者变量)。
  3. “{}”:用来标识 velocity 变量。
  4. “!”:用来强制把不存在的变量显示为空白。
  5. 用双引号还是单引号表示,默认"",可以在stringliterals.interpolate=false改变默认处理方式。

vm基本语法

  1. 变量

    1. 变量定义

      #{$name="hello"}
      #{$templateName="index.vm"}
      #template
      
    2. 变量规范

       ${name},也可以写成$name
       但一般情况下使用${name}
       注意:当引用属性的时候不能加{}
      
    3. 变量复制

      $name ="hello"
      左侧:
      	为变量或者属性的引用。
      右侧:
      	变量引用、字面字符串、属性引用、方法引用、字面数字、数组列表。
      
      #set($monkey = $bill)  ##变量引用
      #set( $monkey.Friend = "monica" ) ## 字符串引用
      #set($monkey.Blame = $spindoctory.weave($web) ## 方法引用
      #set($monkey.Number = 123) ## 数字引用
      #set($monkey.Say = ["Not",$my,"fault"] ##数组列表
      ps:
      1、右值是null,则左侧不会被赋值,会保留原来的值。
      2、velocity 模板中未被定义的将被认为是一个字符串。
      #set($foo ="gibbous")
      $moon = $foo
      输出结果为$moon=gibbous
      
      3、velocity模板中不会解释为对象的实例变量。
      例如
      $foo.getBar() 等同于$foo.Bar;
      $data.getUser("jon") 等同于 $data.User("jon");
      data.getRequest().getServerName()等同于$data.Request.ServerName等同于$(data.Request.ServerName)
      
  2. 循环

    #foreach($element in $list)
        This is $element
        $velocityCount
    #end
    
    例如:
    #set($list=["pine","oak","maple"])
        #foreach($element in $list)
            $velocityCount
            This is $element.<br>
    #end
    
    $list 可以为Vector、Hashtable、Array。分配给$element 的值是一个java对象,并且可以通过变量被引用。
    例如:
    #foreach($key in $list.keySet)
    	Key: $key--->value: $list.get($key) <br>
    #end
    
    Velocity 还提供了循环次数的方法,$velocityCouont变量的名字是Velocity默认的名字,表示循环到第几次了。
    例如:
    #foreach($foo in [1,2,3,4,5])
    	$foo
    #end
    <br>
    #foreach($bar in [2,1,0,-1,-2])
    	$bar
    #end
    <br>
    #set($arr=[0,1])
    #foreach($i in $arr)
    	$i
    #end
    
  3. 条件语句

     #if(condition)
     #elseif(condition)
     #else
     #end
     
     例如:
     #set($arr=["jiayou","jiayou2","jiayou3"])
     #foreach($element in $arr )
         #if($velocityCount==1)
         	<div>jiayou</div>
         #elseif($velocityCount==2)
         	<div>jiayou2</div>
         #else
         	<div>jiayou3</div>
         #end
     #end
    
  4. 语句嵌套

    #foreach($element in $list)
        #foreach($element in $list)
        	this is $element .$velocity <br>inner<br>
        #end
        this is $element.$velocity <br>out<br>
    #end
    
  5. 注释

    1. 单行注释:##this is single
    2. 多行注释:#* …*#
    3. 文档格式:#**…#
  6. 关系和逻辑操作符

    && == || !
    
    #if($foo && $bar)
    	<strong> This AND that</strong>
    #end
    
  7. velocity中的宏

    ​ Velocity中的宏我们可以理解为函数。

    1. 宏的定义
      #macro(宏的名称 $参数1 $参数2 …)
      语句体(即函数体)
      #end
    2. 宏的调用
      #宏的名称($参数1 $参数2 …)
      说明:参数之间用空格隔开。
  8. #stop

    ​ 停止执行模板引擎并返回,应用于debug很有帮助。

  9. $include和#parse

    ​ #include和#parse的作用都是引入本地文件,为了安全,被进入的文件只能在Template_root目录下。

    ​ 这两个引入区别:

    1. #include可以引入多个文件。例如:#include(“one.gif”,“two.txt”,“three.html”)

      #parse只能引入指定的单个对象。例如:#parse(“layout/index.vm”)

    2. #include引入的文件内容不会被velocity模板引擎解析。

      #parse引入的文件内容,将解析其中的velocity并交给模板,相当于把引入的文件内容copy到文件中。

    3. #parse是可以递归调用的。

      例如:
      调用者
      dofoo.vm中代码:
      count down.<br>
      #set($count= 8)
      #parse(parsefoo.vm)
      <br>all done with diao yong parsefoo.vm.
      
      parsefoo.vm中代码:
      $count
      $set($count = $count - 1)
      #if($count>0)<br>
      	#parse("parsefoo.vm")  ##自己调用自己
      #else
      	<br>递归调用结束
      #end
      
      注:
      使用#parse来嵌套另一个vm页面时,变量共享问题,如:
      a.vm 中嵌套了b.vm
      a.vm中使用了变量$param;
      b.vm里可直接使用$param.
      但其中一个定义了,则使用它自己定义的那个同名变量。
      
  10. 转义字符

    当变量被定义的时候,两个\代表一个\,如果未被定义,则按照原样输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊森的代码园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值