Velocity 入门(一)
2016-04-14 14:01
288 查看
Velocity是一种Java模版引擎技术,该项目由Apache提出。因为非常好用,和工作中有啥用,所以我在在理简单的入门一下。
网上找了很多教程,写的不是很明白,要么就是全部拷贝下来时候运行不起来。
在这里我来写一份比较完成的配置 struts2 + Velocity的。相信能用到这个模板引擎的人,对 struts都会有一定的了解,这里就不细说了。
[b]第一步:[/b]
导入包
-- velocity-1.7.jar
-- velocity-tools-1.4.jar
[b]第二步:[/b]
web.xml 因为这里是用的struts2 所以写入的是它的配置
[b]第三步:[/b]struts.xml 这里其实并没有写其他的,只是用struts的动态方法进行调用。
通过制定type = "velocity" 确定返回的页面的类型。
[b]第四步:[/b]TestAction.java
注意:这里如果要在Vm页面进行输入变量,要将变量进行get set 封装下。不然输出不了
第六步:Test.vm
代码完毕:访问:http://localhost:8080/VelocityS/Test!test.action
源码:http://pan.baidu.com/s/1nv0Aevv
网上找了很多教程,写的不是很明白,要么就是全部拷贝下来时候运行不起来。
在这里我来写一份比较完成的配置 struts2 + Velocity的。相信能用到这个模板引擎的人,对 struts都会有一定的了解,这里就不细说了。
[b]第一步:[/b]
导入包
-- velocity-1.7.jar
-- velocity-tools-1.4.jar
[b]第二步:[/b]
web.xml 因为这里是用的struts2 所以写入的是它的配置
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
[b]第三步:[/b]struts.xml 这里其实并没有写其他的,只是用struts的动态方法进行调用。
通过制定type = "velocity" 确定返回的页面的类型。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 动态方法调用打开,可以通过感叹号调用action里面的方法 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="default" extends="struts-default" namespace="/"> <!-- to welPage --> <action name="*" class="com.ape.action.{1}Action"> <result type="velocity">/{1}.vm</result> </action> </package> </struts>
[b]第四步:[/b]TestAction.java
注意:这里如果要在Vm页面进行输入变量,要将变量进行get set 封装下。不然输出不了
package com.ape.action; import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport { /** * */ private static final long serialVersionUID = 9061932498262928875L; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String test() { name = "Hello"; return SUCCESS; } }
第六步:Test.vm
<html> <head> <title>Insert title here</title> </head> <body> #set($world="world") ${name}-${world} </body> </html>
代码完毕:访问:http://localhost:8080/VelocityS/Test!test.action
源码:http://pan.baidu.com/s/1nv0Aevv
相关文章推荐
- Pywinauto Guideline
- iOS 对UITextView以及UITextField的字数限制.
- win7下面用超级终端不能输入命令原因
- Android中关于Volley的使用(四)利用NetworkImageView来加载图片
- 设计模式 外观模式 一键电影模式
- 解决Eclipse中DDMS一直打印输出Connection attempts的问题
- repo andrid
- VC 枚举窗口及所有子窗口句柄、名称和类名并找出listview的内容
- Spring MVC注解
- C#第6周实验类的继承
- Android 多线程用法大集合
- 结对编程
- 蓝桥杯-取数游戏
- 《OpenGL编程基础(第三版)》中文版 勘误--总结
- oracle 一些特殊用法
- ThreadLocal内部机制及使用方法
- Lucas定理---组合数取模
- 01背包,完全背包,多重背包问题详细介绍以及源代码实现
- UISearchController使用中的几个坑和一个知识点
- 警告:Attribute Unavailable Automatic Preferred Max Layout Width is not available on iOS versions pri