1,vm特性:
#为语法解析标志
vm中1,vm语法(相当于<%%>),2html,3js
一个vm引入其他vm时会全部引入渲染完成之后才放入后台数据展示
index.vm:
#parse("/screen/credit/customerInfo/applyInfo.vm") ##申请信息
#parse("/screen/credit/customerInfo/customerInfo.vm") ##个人信息
用#set()设置页面的内置属性值
#set($title="客户信息录入")
一个页面设置了layout,就采用了相应的值vm中固定的结构,并作为$screen_content的值合并进去
#set($layout = "/layout/nolayout.vm")
引入css,js
#css('houbank.css')
#javascript('jquery-3.2.1.min.js')
或者原始的方式
常用函数:
#foreach( $navName in $navPath )
<span>></span>
$navName
#end
#set($provinces=$redisUtil.getProvinces())
#if($provinces && $provinces.size()>0 )
<select name="$name" class="select" id="$name">
<option value=""></option>
#foreach($!item in $provinces)
<option value="$!item.itemNo" #if($selectedItemNo==$!item.itemNo) selected #end >$!item.itemName</option>
#end
</select>
#end
#if($!{msg})
<div class="message">$!{msg}</div>
#end
引用:
1jar包
<velocity.version>1.7</velocity.version>
<velocity-tools.version>2.0</velocity-tools.version>
<!-- velocity -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>${velocity-tools.version}</version>
</dependency>
2
web.xml:
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.VelocityLayoutServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.tools.deprecationSupportMode</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.tools.cleanConfiguration</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.tools.userCanOverwriteTools</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
spring-servlet.xml
vm解析器配置
<!--velocity配置-->
<bean class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<!--<property name="resourceLoaderPath" value="/views/"/>-->
<property name="configLocation" value="/WEB-INF/velocity/velocity.properties"/>
</bean>
<bean class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
<property name="exposeSpringMacroHelpers" value="true"/>
<property name="prefix" value="/"/>
<!-- 视图文件的前缀,即存放的路径 -->
<!-- -->
<property name="suffix" value=".vm"/>
<property name="contentType" value="text/html;charset=UTF-8"/>
<property name="toolboxConfigLocation" value="/WEB-INF/velocity/toolbox.xml"/>
<property name="dateToolAttribute" value="date"/>
<!--日期函数名称-->
<property name="numberToolAttribute" value="number"/>
<!--数字函数名称-->
<property name="layoutUrl" value="layout/main.vm"/>
<property name="allowSessionOverride" value="true"/>
<property name="allowRequestOverride" value="true"/>
<property name="exposeSessionAttributes" value="true"/>
<property name="requestContextAttribute" value="rc"/>
<property name="exposeRequestAttributes" value="true"/>
<property name="cache" value="false"/>
</bean>