前端模板语言velocity选择

原创 2015年11月21日 10:42:31

Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
配置:
1.在pom.xml增加依赖的velocity包

  <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-tools</artifactId>
        <version>2.0</version>
    </dependency>   

2、修改dispatcher-servlet.xml文件,将之前的的解析JSP改为html

    <!-- 配置SpringMVC的视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/html/"/>
        <property name="suffix" value=".html"/>
    </bean>

并增加下面配置

    <!-- velocity模板信息设置 -->
    <bean id="velocityConfig"  class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
        <property name="resourceLoaderPath" value="/WEB-INF/html" />  
        <property name="configLocation" value="classpath:velocity.properties" /> 
        <property name="velocityProperties">    
         <props>    
             <prop  key="input.encoding">utf-8</prop>    
             <prop  key="output.encoding">utf-8</prop>      
          </props>    
        </property>  
    </bean>     
    <!-- 设置视图解析工具 -->  
    <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        <property name="suffix" value=".html"/>
        <property name="order" value="1" />
        <property name="requestContextAttribute" value="rc" />
        <property name="contentType">
            <value>text/html;charset=UTF-8</value>
        </property>
    </bean> 

3、在resource目录下建立velocity.properties文件

#log4j日志配置
runtime.log.logsystem.class = org.apache.velocity.runtime.log.SimpleLog4JLogSystem
runtime.log.logsystem.log4j.category = velocity_log
runtime.log.error.stacktrace = false
runtime.log.warn.stacktrace = false
runtime.log.info.stacktrace = false
runtime.log.invalid.reference = true

#字符编码
input.encoding =  UTF-8
output.encoding  =  UTF-8

##foreach()指令时循环中的计数器名, 在模板中可以通过 $velocityCount 来访问
directive.foreach.counter.name =  velocityCount
#foreach()中计数器的起始值.
directive.foreach.counter.initial.value =  1

4、新建testController

@RequestMapping(value="/test")  
@Controller  
public class TestController {  
    @RequestMapping(value="/index")  
    public String index(Model model) {  
        String name = "tester";  
        model.addAttribute("name", name);  
        return "test/index";  
    }  
}  

就可以了

=======================================

一、取系统路径:${rc.contextPath}
例子:
1<script type="text/javascript" src="${rc.contextPath}/static/js/jquery-1.7.2.js"></script>
2、diag.URL = '${rc.contextPath}/user/goEditU.do?USER_ID='+user_id;
二、标识变量或对象
1、用“$”号来标识,例如$user$userList$i
2、用"${}"来明确标识一个velocity变量
比如在页面中,页面中有一个$someonename,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这 个变量的后面紧接着显示name字符,则上面的标签应该改成${someone}name。
三、if else
1#if(XX && YY || ZZ)
   .......
#elseif(AA)
   .......
#else
   ........
#end
四、foreach
#foreach($user in $userList)
    console.log("当前是第"+${velocityCount}+"个")
    console.log($user.name + )
#end

五、设置变量
1#set ($i=1) 
六、包含文件
#include("a.html")包含静态页面,不解析,会原样显示
#parse("a.html")包含前会先解析velocity标签   

====补充,让外部独立的js也使用velocity变量====
1、增加一套解析JS的

    <!-- 设置视图解析工具 -->  
    <bean id="jsvelocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        <property name="suffix" value=".js"/>
        <property name="order" value="2" />
        <property name="requestContextAttribute" value="rc" />
        <property name="contentType">
            <value>text/html;charset=UTF-8</value>
        </property>
    </bean> 

2、html里面

<script type="text/javascript">
#parse("../../static/js/common/xx.js")
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

spring boot 使用velocity、freeMarker模板创建html页面返回给前端

简单几步,实现在spring boot中使用velocity或freeMarker模板构造页面后返回给前端。

Velocity模板(VM)语言介绍

转自:http://www.blogjava.net/caizh2009/archive/2010/08/20/329495.html Velocity是什么?  Velocity...

Velocity模板语言(VTL):说明

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

模板语言velocity

http://velocity.apache.org/engine/devel/vtl-reference-guide.html #foreach ($row in $!history) ...

Velocity模板(VM)语言介绍

原文出处:点击打开链接 Velocity是什么?  Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template langu...

Velocity模板语言介绍

  • 2012-09-18 17:18
  • 115KB
  • 下载

模板语言velocity学习手册

  • 2011-11-16 10:49
  • 135KB
  • 下载

Spring boot配置freemarker,jsp,velocity模板

Spring boot配置freemarker,jsp,velocity模板

模板技术-freemarker与velocity

模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选...

velocity基础教程--2自定义ResourceLoader实现字符模板

velocity虽然已经为我们提供了一些资源加载器,基本已经可以满足大部分的用户需求。有的时候还需要我们必须手动去写一些,比如:我们打算采用String的模板而不是vm文件形式,为的是将模板存入db中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)