zoukankan      html  css  js  c++  java
  • Velocity学习

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11790482.html

    Velocity学习:

    1. velocity对大小写敏感
    
    2. velocity的具体用法:
        
        import org.apache.velocity.Template;
        import org.apache.velocity.VelocityContext;
        import org.apache.velocity.app.VelocityEngine;
        import org.apache.velocity.runtime.RuntimeConstants;
        import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
    
        /**
         * 初始化Velocity引擎
         */
        VelocityEngine ve = new VelocityEngine();
        ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
        ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName()); 
        ve.init();
    
        /**
         * 获取模板,参数栏填写模板所在路径
         */
        Template t = ve.getTemplate("ureport-html/html-preview.html");
    
        /**
         * 创建Velocity上下文
         */
        VelocityContext vctx = new VelocityContext();
        /**
         * 放入数据
         */
        vctx.put("data", "data");
        vctx.put("html", "htmldata");
    
        /**
         * 创建一个任意形式的wirter,用于输出页面数据
         * 假设前面有response传入
         */
        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        //Writer writer = new Writer(); //可以new一个Writer, 也可以从response中获取,设置输出的信息
        PrintWriter writer = response.getWriter();
    
        /**
         * 交给模板去处理
         */
        t.merge(vctx, writer)
    
        writer.close();
    
    3. 语法
    
        #set( $foo = "Velocity" ) 设置变量的值
    
        ## 单行注释
    
        #*  随便什么内容     *# 多行注释
    
        $user 引用Java中定义的对象
    
        $user.name 引用user对象的属性
    
        $user.setName("fw"); 方法引用
    
        $user.getName(); 这个和$user.name 效果是一样的
    
        如果有一个对象是引用的Java数组,那还可以直接调用Java数组的方法:
    
            $myarray.isEmpty()
            $myarray.size()
            $myarray.get(2)
            $myarray.set(1, 'test')
    
        ${userName} 这种写法也支持
    
        $!userName 如果userName是空值, 那么就显示""空字符串
    
        ${!userName} ${}是正式引用; !是静态引用
    
        不解析模式:下面的代码将会输出 #[[ ]]#中的内容;
        #[[
            #foreach ($item in $itemList)
              nothing will happen to $item
            #end
        ]]#
    
        判断语句 If / ElseIf / Else  && || ! 
     
        #if ()
            //do something
        #elseif ()
            //do something
        #elseif ()
            //do something
        #else 
            //do something
        #end
    
        循环 foreach
    
        #foreach ($name in $users)
            $name
        #end
    
        #include( "one.png","two.txt","three.html" )
    
        #parse( "me.vm" )
  • 相关阅读:
    威联通NAS 网站无法登录,可以ssh情况下重启设备方法
    NSNotification的几点说明
    使用UIDatePicker
    scrollView的几个属性contentSize contentOffset contentInset
    创建标题栏,UINavigationBar的使用
    点击tablecell中的一个按钮,确定cell所在的行
    UITextView被键盘遮挡的处理
    UITableViewCell中的UILabel添加手势没有响应的解决方法
    将NSArray反向排序
    图片的左右摆动
  • 原文地址:https://www.cnblogs.com/fanerwei222/p/11790482.html
Copyright © 2011-2022 走看看