velocity基本使用
2015-04-24 17:18
253 查看
1、 controller
2、spring-servlet.xml
3、web.xml
4、velocity templates
index.vm
package com.csst.app.web.controller; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.runtime.VelocimacroManager; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.ui.velocity.VelocityEngineUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.csst.app.test.User; @Controller @RequestMapping(value="/velocity") public class HelloController { @RequestMapping(value="/say") public void say(HttpServletRequest request, HttpServletResponse response)throws Exception{ String path=request.getContextPath(); Properties p=new Properties(); p.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "D:/apache-tomcat-7/webapps/springMvc/templates/"); p.setProperty(Velocity.INPUT_ENCODING, "UTF-8"); p.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8"); String url="index.vm"; Velocity.init(p); VelocityContext context=new VelocityContext(); // User user=new User(); user.setUser("dehua.cao"); user.setPass("123456789"); Map<String, Object> map=new HashMap<String, Object>(); map.put("index", 100); map.put("count", 200); List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); context.put("user", user); context.put("list", map); context.put("status", true); Template template=Velocity.getTemplate(url, "UTF-8"); StringWriter writer=new StringWriter(); template.merge(context, writer); // response.setCharacterEncoding("UTF-8"); PrintWriter out=response.getWriter(); out.print(writer.toString()); out.flush(); out.close(); } }
2、spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!-- 注解请求映射--> <mvc:annotation-driven /> <!-- 自动扫描包名 --> <context:component-scan base-package="com.csst.app.dao.impl" /> <context:component-scan base-package="com.csst.app.service.impl"/> <context:component-scan base-package="com.csst.app.web"/> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- jsp页面解析器 --> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/jsp" /> <property name="suffix" value=".jsp" /> </bean> <!-- 配置velocity引擎 --> <bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> <property name="resourceLoaderPath" value="/templates/" /> </bean> <!-- 配置veloctiy渲染 --> <bean id="ViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver"> <property name="cache" value="true"/> <property name="prefix" value="/templates" /> <property name="suffix" value=".vm" /> </bean> <!-- sesion超时处理 --> <!-- <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/*/*"/> <mvc:exclude-mapping path="/index/*"/> <bean class="com.csst.app.interceptor.SessionInterceptor"> <property name="allUrl"> <list> <value>/js/</value> <value>/css/</value> <value>/images/</value> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors> --> <!-- 异常文件处理 --> <!-- <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView" value="error"></property> <property name="exceptionAttribute" value="ex"></property> <property name="exceptionMappings"> <props> <prop key="com.csst.app.exception.BusinessException"> error </prop> </props> </property> </bean> --> <!-- 访问静态文件 --> <!-- <mvc:resources location="/js/" mapping="/js/**"/> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:resources location="/css/" mapping="/css/**"/> --> <!-- 线程池基本配置 --> <!-- <bean id ="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name ="corePoolSize" value ="5" /> <property name ="keepAliveSeconds" value ="300" /> <property name ="maxPoolSize" value ="10" /> <property name ="queueCapacity" value ="25" /> </bean> <bean id="testTaskExecutor" class="com.csst.app.test.TestTaskExecutor"> <constructor-arg ref="taskExecutor"/> </bean> --> </beans>
3、web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-servlet.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-servlet.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> </web-app>
4、velocity templates
index.vm
<HTML> <HEAD> </HEAD> <BODY > <div > #include("top.vm") #set($index=0) <span > $user.user, $user.pass </span> #foreach($data in $list) <p > $data </p> #end #if($status) <img src="../images/logo.gif" alt="" /> #else <img src="../images/logo.gif" alt="" /> #end <BR /> #if($index==0) <DIV > 中国伟大 </DIV> #end #include("bottom.vm") </div> </BODY> </HTML>
相关文章推荐
- velocity的基本使用模式
- 使用Velocity基本步骤
- Velocity使用基本流程
- 【转载】Velocity模板引擎的介绍和基本的模板语言语法使用
- Velocity的基本使用
- Android(java)学习笔记89:泛型概述和基本使用
- TotoiseSVN的基本使用方法
- Log4j基本使用方法
- jQueryEasyUI Dialog的基本使用
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:实现基本的CRUD功能
- Android中ExpandableListView控件基本使用
- lombok 找不到IDE 介绍及基本使用方法
- Netty——基本使用介绍
- iOS开发网络篇—NSURLConnection基本使用
- Hessian学习(1)——基本使用
- 《Velocity 模板使用指南》中文版
- iOS程序-UIScrollView的基本使用
- Composer的基本使用
- MongoDB基本使用