搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
代码维护者
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
MySql数据库_mysql中通过年份月份求当前年龄大于18的
2
发布原子化服务&HarmonyOS 3.0应用开发系列课_信息中心 2.0支持获取harmonyos和openharmony的资源
3
typora mac版本激活_mac typora激活
4
GPT-4 插件和插件化的思考_gpt4插件
5
Postman传递@requestbody标注的List集合的传参遇到的问题_@requestbody list
6
Jmeter 之 https接口 性能测试_jmeter测试https
7
2023 年 亚太赛 APMCM (B题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析
8
ACL介绍及基本命令配置_acl配置命令详解
9
计算机视觉之手势、面部、姿势捕捉以Python Mediapipe为工具
10
【愚公系列】2023年11月 Java教学课程 203-RabbitMQ(SpringAMQP)
当前位置:
article
> 正文
Apache Velocity简介_apache velocitycontext
作者:代码维护者 | 2024-02-04 13:03:42
赞
踩
apache velocitycontext
开发者文档:http://velocity.apache.org/engine/devel/developer-guide.
html
http://velocity.apache.org/engine/devel/user-guide.html
模板语
言:
http://velocity.apache.org/engine/devel/vtl-reference-guide.html
1、Velocity如何工作:
(1)、初始化Velocity,一个应用可以创建一个Singleton对象Velocity或者为每一个实现创建VelocityEngine对象;Initialize Velocity.
(2)、创建一个Context对象(VelocityContext);Create a Context object
(3)、把数据对象添加到Context中;Add your data objects to the Context.
(4)、选择一个模板;Choose a template.
(5)、合并模板与数据产生输出流。'Merge' the template and your data to produce the ouput.
2、单例模式:org.apache.velocity.app.Velocity
import
java.io.StringWriter;
import
org.apache.velocity.Template;
import
org.apache.velocity.VelocityContext;
import
org.apache.velocity.app.Velocity;
import
org.apache.velocity.exception.MethodInvocationException;
import
org.apache.velocity.exception.ParseErrorException;
import
org.apache.velocity.exception.ResourceNotFoundException;
Velocity.
init
();
VelocityContext context =
new
VelocityContext();
context.put(
"name"
,
new
String(
"Velocity"
));
Template template =
null
;
try
{
template =
Velocity
.
getTemplate
(
"mytemplate.vm"
);
}
catch
(ResourceNotFoundException rnfe) {
// couldn't find the template
}
catch
(ParseErrorException pee) {
// syntax error: problem parsing the template
}
catch
(MethodInvocationException mie) {
// something invoked in the template
// threw an exception
}
catch
(Exception e) {
}
StringWriter sw =
new
StringWriter();
template.merge(context, sw);
3、非单例模式:org.apache.velocity.app.VelocityEngine
VelocityEngine velocityEngine =
new
VelocityEngine();
velocityEngine.init();
VelocityContext context =
new
VelocityContext();
context.put(
"name"
,
new
String(
"Velocity"
));
Template template =
null
;
try
{
template = velocityEngine.getTemplate(
"mytemplate.vm"
);
}
catch
(ResourceNotFoundException rnfe) {
// couldn't find the template
}
catch
(ParseErrorException pee) {
// syntax error: problem parsing the template
}
catch
(MethodInvocationException mie) {
// something invoked in the template
// threw an exception
}
catch
(Exception e) {
}
StringWriter sw =
new
StringWriter();
template.merge(context, sw);
4、Context:VelocitContext
VelocityContext提供两个最主要的方法:
public
Object put(String key, Object value);
public
Object get(String key);
(1)、使用#foreach()支持迭代对象;
Support for Iterative Objects for #foreach()
支持类型:
Object[],
java.util.Collection,
java.util.Map,
java.util.Iterator,
java.util.Enumeration
(2)、支
持类对象。
Support for "Static Classes"
context.put(
"Math"
, Math.
class
);
在模板中
$Math
可
以使用
java.lang.Math静态方法
5、使用Velocity
Velocity有5个方法:
setProperty(String key, Object o):设置key的值
Object getProperty(String key):根据key获取值
init():使用默认的properties配置文件初始化
init(Properties p):根据Properties对象设置参数初始化
init(String filename):根据properties文件初始化
默
认properties配置文件所在位置:
org/apache/velocity/runtime/defaults/velocity.properties,相关配置见官方文档
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/article/detail/58689
推荐阅读
article
Apache
DolphinScheduler
2.X保姆级
源码
解析
...
点击上方蓝色字体,选择“设为星标”回复"面试"获取更多惊喜八股文教给我,你们专心刷题和面试Hi,我是王知无,一个大数据领...
赞
踩
article
【Flink实战系列】L
org
/
apache
/
flink
/
kafka
/
shaded
/
org
/apac...
本文主要是分享了一个jar包冲突异常,以及怎样一步步排查问题到最后的解决问题,其实这两个异常在平时是非常常见的,给大家提...
赞
踩
article
(Ljava/lang/Object;Ljava/lang/Long;)L
org
/
apache
/fl...
问题原因是
kafka
版本过低再项目中导入
kafka
-client包。_l
org
/
apache
/
flink
/
kafka
/s...
赞
踩
article
创建一个
Flink
项目
_
org
.
apache
.
flink
:
flink
-
quickstart
-
java
...
mvn产生一个
flink
项目框架
flink
版本1.5.4mvn archetype:generate -Darchety...
赞
踩
article
flink
启动job时 提示Lorg/
apache
/
flink
/
metr
ics/groups/Op...
INITIALIZING to FAILED with failure cause: java.lang.NoSuchM...
赞
踩
article
17 位
社区
大咖寄语
,
Seata
进入
Apache
孵化器
...
北京时间 2023 年 10 月 29 日
,
分布式事务开源项目
Seata
正式通过
Apache
基金会的投票决议
,
以...
赞
踩
article
Apache
Spark
的
基本概念
和在大
数据分析
中
的
应用...
此外,
Spark
提供了丰富
的
编程接口(如 Scala、Java、Python 和 R),可以方便地进行开发和调试。因此...
赞
踩
article
Unity
-
移动
的问题_
unity
velocity
...
本来就想看看
移动
。。。看着看着就去看底层去了_
unity
velocity
unity
velocity
...
赞
踩
article
基于
Apache
APISIX
的
自动化
运维
平台
_
apisix
有waf...
本文由前同程数科
运维
经理陈庆介绍了如何基于
Apache
APISIX
实现
自动化
运维
平台
。_
apisix
有wafap...
赞
踩
article
消息
队列之六脉神剑:
RabbitMQ
、
Kafka
、
ActiveMQ
、
Redis
、
ZeroMQ
、A...
消息
队列(Message Queue)是一种异步通信机制,它将
消息
发送者和接收者解耦,从而提高了应用程序的性能、可扩展性...
赞
踩
article
一文讲清
RabbitMQ
、
Apache
Kafka
、
ActiveMQ
_
apache
activemq...
本文分享了关于
Kafka
、
RabbitMQ
和
ActiveMQ
三个流行的异步通信消息队列,以及三者的区别。_
apache
...
赞
踩
article
apache
zookeeper
java
_springBoot 整合
ZooKeeper
Java...
/*** 演示
Apache
Curator
API* 1、增删查改* 2、ACL 访问权限控制* 3、注册 watch...
赞
踩
article
Zookeeper
连接
超时
或者无法
连接
_org.
apache
.
zookeeper
.clientcnx...
关于eclipse
连接
CentOS上的
Zookeeper
超时
超时
错误如图所示解决方案1. 查看ip地址是否一致2. Zo...
赞
踩
article
【
Apache
ZooKeeper
】命令行
zkCli
.
sh
使用指南...
apache
ZooKeeper
命令行下命令使用。_zkcli.
sh
zkcli.
sh
ZooKe...
赞
踩
article
java
类
无法
实例
_
无法
实例
化类:org.
apache
.
naming
.
java
.
java
URLCo...
我正在研究Junit测试文件,它加载SQL文件并将其加载到Oracle中:import
java
.io.Buffered...
赞
踩
article
Apache
Doris
整合
FLINK
CDC
+
Iceberg
构建实时湖仓一体
的
联邦
查询
...
自此我们完整从搭建Hadoop,hive、flink 、Mysql、
Doris
及
Doris
On
Iceberg
的
使用...
赞
踩
article
漏洞复现----3、
Apache
Solr
远程命令执行漏洞(
CVE
-
2017
-12629)...
文章目录一、
Apache
Solr
简介二、
CVE
-
2017
-12629简介三、漏洞复现3.1、使用postCommit...
赞
踩
article
Apache
Ranger
的安装及部署
_
ranger
_
base
_
dir...
一.
Apache
Ranger
简介
Apache
ranger
是一个Hadoop集群权限框架,提供操作、监控、管理复杂的...
赞
踩
article
Springboot 利用Apache
sshd
模拟
sftp
server
进行
Junit
测试_s...
挡泥板 Mock 有的时候也不是万能的,例如
sftp
这东西就不是个善茬。幸好有
sshd
_
springboot
apach...
赞
踩
article
dockerfile
部署
mysql
很慢_通过
Dockerfile
部署
Tomcat、
Apache
、Ng...
博文目录一、编写
Dockerfile
部署
Tomcat服务二、编写
Dockerfile
部署
Apache
服务1、编写Dock...
赞
踩
相关标签
分布式
大数据
编程语言
java
python
flink
kafka
apache
阿里云
seata
spark
数据分析
unity
运维
自动化
APISIX
API网关
rabbitmq
activemq
消息队列