zoukankan      html  css  js  c++  java
  • NVelocity的宏使用

    一、NVelocity使用参数
     示例:
      1.建立宏
       #macro( test $range $arrayList )
        ...
       #end
      2.调用宏
      #test([-9,-1] ["favorite", "color"])
     通过以上示例,你只需要一个为每一个需要传递的参数提供了名称的#macro指令,这些参数用空格进行分隔。如上例中#macro( test $range $arrayList )“test”是宏名,$range $arrayList是参数。用"#"+宏名(参数1 参数2...)来调用宏。
      
      
    二、NVelocity递归调用

     嵌套,最简单的情况就是在NVelocity 中用到macro里调用另外一个macro,这是在实际代码开发中使用得最频繁的一种。递归,是一种特殊类型的嵌套,它是在NVelocity中的macro里调用自身,但这种情况并不太常见。
     
     #macro( recurs $depth )
      进入第 $depth 层<br/>

      #set( $depth = $depth - 1 )

      #if ( $depth > 0 )

       #recurs( $depth )

      #end

      #set( $depth = $depth + 1 )

      进入第 $depth 层<br/>

     #end
     #recurs( 3 )
     
     执行结果:
       进入第 3 层
       进入第 2 层
       进入第 1 层
       进入第 1 层
       进入第 2 层
       进入第 3 层
     注:在递归调用时,注意通常不要把一个对象的属性传为参数递归调用,上例中,如果$depth是一个对象的话,那么用#recurs( $depth.attribute)话,模板输出时候往往有问题,而且又查不出来,这里记录一下,忘以后不要出现这样的错误。究其原因,我想是由于是object类型,往往在调用时认不出对象的类型吧(暂时只能这样去理解了,没深层次去研究过)。

  • 相关阅读:
    phpcms配置404页面
    百度蜘蛛IP地址大全
    36.99.136.*和111.7.100.*两个IP段探究
    讯搜xunsearch的安装与简单使用方法
    wget命令批量下载图片,有规律的url
    wget命令批量下载图片
    宝塔+云锁Nginx自编译web防护亲测教程
    一键下载大学慕课等课程视频
    这些学习网站你一定不可以错过
    第8组 Alpha(1/6)(赵红霞)
  • 原文地址:https://www.cnblogs.com/netcorner/p/1772980.html
Copyright © 2011-2022 走看看