Velocity在JavaWeb中的简单应用

Velocity在JavaWeb中的简单应用

它是一种视图层的引擎,支持通过自定义的VM模板来生成html文件,且vm模板中有一套自洽的语法,能够省略在后端代码中进行编写。

https://jingyan.baidu.com/article/3065b3b695df9dbecff8a434.html
在这里插入图片描述

作用

​ 帮助程序员省略类中的代码,通过引入模板和在模板上进行一定程度上的编程来实现对模板的排版,通过KV键值对的形式给相应的对象进行赋值。

导入依赖

要使用首先当然是先导入依赖

	<!--velocity模板导出HTML -->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-engine-core</artifactId>
			<version>2.0</version>
		</dependency>

		<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>

同时在应用中如果有需要还可以导入这个依赖

	<!--Markdown格式文本转换为HTML格式 -->		
		<dependency>
			<groupId>org.pegdown</groupId>
			<artifactId>pegdown</artifactId>
			<version>1.6.0</version>
		</dependency>

语法

变量声明与KV键值对

${name}
$name
声明变量

与java中VelocityContext context = new VelocityContext()相对应
通过context.put(“name”, data);
这种key—value键值对的形式一一对应

循环结构

#foreach(${name} in ${names})
	内容;
#end

这个for循环类似于java中的for(int list : list )对数组的遍历,如果我们在java中传入的names是一个集合,这样我们便可以通过for循环对其遍历。并且如果集合内是一个实体类,我们也可以通过${name.xinshi}的方法来得到对应的实体类中属性的数据,同理若实体类内也是一个集合,我们也可通过同样的方式对其进行套娃遍历。

IF,ELSE

#if(条件)
	操作内容
#elseif(内容)
	操作内容
#else
	操作内容
#end

注意的是elseif要写在一起同时结束需要加end

Velocity和C一样也支持定义宏

声明与定义宏
#macro(attack $name)
	使用 $name
#end

使用宏
#attack("劈砍")

include And Parse

#parse("Number1.vm")
此方式也会解析VM模板的语法输出相应的结果
#include("Number2.vm")
此方式单纯的插入对应VM模板的内容

应用

​ 在项目中,我使用了VM模板导出数据库中的数据为html,他方便的是很方便就能转化为html格式封装好了,不需要转为xml之后进行一系列操作,直接替换字符串。

​ 我们通过在html前设置好各个类的格式然后只需要通过foreach对单个重复的模块不断循环就可以循环生成对应格式的模块,十分方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值