转:http://gatusso52.iteye.com/blog/403439
1使固定后缀名的所有页面都被velocity渲染
web.xml
- <servlet>
- <servlet-name>velocity</servlet-name>
- <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
- <init-param>
- <param-name>org.apache.velocity.properties</param-name>
- <param-value>/WEB-INF/velocity.properties</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>velocity</servlet-name>
- <url-pattern>*.vpage</url-pattern>
- </servlet-mapping>
其中velocity.properties(注意classloader和encoding)
- tools.view.servlet.error.template = error.vm
- tools.view.servlet.layout.directory = /
- tools.view.servlet.layout.default.template = default.vm
- resource.loader = webapp
- webapp.resource.loader.class = org.apache.velocity.tools.view.WebappResourceLoader
- webapp.resource.loader.cache = true
- webapp.resource.loader.modificationCheckInterval = 2
- input.encoding = gbk
- output.encoding = gbk
- velocimacro.library.autoreload = true
- runtime.log.logsystem.class=org.apache.velocity.runtime.log.Log4JLogSystem
- runtime.log.logsystem.log4j.logger=velocity
- parser.pool.size=50
这样所有.vpage都经过velocity渲染
2
还可以使用tools.xml集中加引用
修改web.xml如下
- <servlet>
- <servlet-name>velocity</servlet-name>
- <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
- <init-param>
- <param-name>org.apache.velocity.toolbox</param-name>
- <param-value>/WEB-INF/tools.xml</param-value>
- </init-param>
- <init-param>
- <param-name>org.apache.velocity.properties</param-name>
- <param-value>/WEB-INF/velocity.properties</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>velocity</servlet-name>
- <url-pattern>*.vpage</url-pattern>
- </servlet-mapping>
于是可以在tools.xml定义变量、velocity提供的类、以及自己定义的类。下面分别举例
- <?xml version="1.0" encoding="UTF-8"?>
- <toolbox>
- <data>
- <key>name</key>
- <value>severus</value>
- </data>
- <tool>
- <key>myTool</key>
- <class>net.sx.velocity.tools.MyTool</class>
- </tool>
- <tool>
- <key>date</key>
- <scope>request</scope>
- <class>org.apache.velocity.tools.generic.DateTool</class>
- <parameter name="format" value="yyyy-MM-dd hh:mm:mm"/>
- </tool>
- </toolbox>
其中MyTool如下
- public class MyTool {
- public String getMessage() {
- return "message";
- }
- public String sayHello(String s){
- return "say hello by macro " + s;
- }
- }
于是vpage可以这样用
- <html>
- <body >
- Hello, $name <br>
- $myTool.message <br>
- $date.date<br>
- </body>
- </html>
输出
- Hello, severus
- message
- Sun Jun 07 04:09:09 CST 2009
3
使用macro自定义操作函数。
可以用macro.vm集中定义。
tools.xml集中加引用,macro.vm中集中加函数。
在velocity.properties中加一句
- velocimacro.library = WEB-INF/macro.vm
然后macro.vm
- #macro(sayHello $name)
- $myTool.sayHello($name)
- #end
于是可以在vpage中这样用
- #sayHello("severus")
输出
say hello by macro severus
相关推荐
本课程的定位是velocity的系统教学课程 , 从基础到进阶 , 所以只要对velocity感兴趣 , 想系统学习velocity的开发人员都可以学习本课程 ! 学习本课程对你有如下要求 : l 有一定的JAVA编程基础(velocity engine要求) l...
这个压缩包提供的资料应该涵盖了Velocity的基础和进阶知识,对于想要学习或提升Velocity技能的开发者来说,是一份宝贵的资源。通过深入学习和实践,可以掌握如何有效地使用Velocity来创建高效、可维护的动态内容生成...
而 `Velocity2.ppt` 很可能是一个详细的 Velocity 进阶教程,涵盖了高级特性如宏、自定义工具类的使用等。 总的来说,Velocity 是一款强大的模板引擎,它的轻量级设计和易用性使其成为 Java Web 开发中的得力助手。...
**Velocity入门指南** Velocity是一款基于Java的模板引擎,它允许...通过实践和学习,你可以快速掌握Velocity并将其应用到实际项目中。对于初学者来说,这是一个很好的起点,也是深入了解Web开发的一个重要步骤。
**Velocity 入门** Velocity 是一个基于 Java 的模板引擎,它是 Apache 软件基金会的顶级项目之一。它被广泛用于 Web 开发中,尤其是在 ...学习并熟练使用 Velocity,能有效提升开发效率,实现更加灵活的视图层设计。
每个粒子包括两个主要属性:位置(Position)和速度(Velocity)。位置是解空间中的一个点,速度决定了粒子在下一次迭代时如何改变其位置。初始位置和速度通常是随机生成的。 在每次迭代中,PSO算法执行以下步骤: ...
#### 六、Velocity进阶技巧 1. **自定义宏**:创建可重用的模板片段。 2. **模板继承**:通过继承实现模板重用。 3. **国际化支持**:利用Velocity实现多语言支持。 4. **错误处理**:合理处理模板解析时可能出现的...
总的来说,"技术进阶图谱.rar"提供的资料可以作为初学者了解大数据领域的入门指南,但对于专业人士,需要结合其他更深入的学习资源,跟踪最新的技术动态和发展,以确保全面掌握这个快速变化的领域。
### Java进阶路线详解 #### 一、Java基础 **1. 传值与传引用** 在Java中,基本类型(如int、char等)的传递是按值传递的,而对象类型的传递则是按引用传递的。理解这一点对于正确处理变量和对象之间的交互至关...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
【Velocity学习资料】 Velocity,全称Apache Velocity,是一款开源的Java模板引擎,它允许开发者将HTML、XML等静态页面与Java代码分离,使得开发者能够专注于业务逻辑,而设计师可以独立地设计页面样式。Velocity被...
可以配合使用第三方 JavaScript 动画库,如 Velocity.js 单元素/组件的过度 Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加 entering/leaving 过渡 条件渲染 (使用 v-if) 条件展示...
通过这三个阶段的学习,你可以全面掌握JAVA编程的基础,进阶到WEB开发和企业级应用。记得每个阶段都要结合实践项目,以提升实际开发能力。同时,不断关注新的技术和框架,保持学习的热情,是成为一名优秀的JAVA...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
使用SpringBoot+Mybatis+velocity开发。数据库使用了redis和mysql,同时加入了异步消息等进阶功能,同时使用python爬虫进行数据填充。 适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/...
本资料包“大数据学习笔记,学习路线,技术案例整理”是一个全面的大数据学习资源,旨在帮助初学者和进阶者系统地掌握大数据的核心技术和应用实践。 首先,我们来了解一下大数据的关键概念和技术栈。大数据通常有四...
Java是一种广泛使用的编程语言,尤其在企业级应用开发中占据...学习Java是一个持续的过程,从基础到进阶,再到实际项目经验的积累。不断地实践、阅读代码、参与开源项目,将帮助你更好地理解和掌握这门强大的编程语言。
Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(Model-View-Controller)架构的Web应用。...通过系统的学习,你可以提高自己的Java web开发技能,为今后的进阶学习打下坚实的基础。