首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

velocity模板引擎学习(2)-velocity tools 2.0

使用velocity后,原来的很多标签无法使用了,必须借助velocity tools来完成,目前velocity tools最新版本是2.0,下面是velocity tools的一些注意事项: 1....; 9 import org.apache.velocity.tools.Scope; 10 import org.apache.velocity.tools.ToolManager; 11 import...tm.configure(getServletContext().getRealPath(getToolboxConfigLocation()));这里,在某些容器,比如weblogic中,getRealPath可能取不到,... 5 借助velocity-tools的LinkTool类,在velocity中直接用${link.contextPath}即可得到当前的contextPath...最后,Velocity还允许自定义标签(也有人称为自定义指令),支持开发人员定义自己的标签,比如#YourDirective,详情可参考: 编写自定义的 Velocity 指令

1.6K90

模板引擎Velocity 基础

Velocity 有什么应用场景呢? Web应用程序 : 作为为应用程序的视图, 展示数据。 源代码生成  : Velocity可用于基于模板生成Java源代码。...Context 主要封装了模板渲染需要的变量 Runtime 整个Velocity的核心模块,Runtime模块会将加载的模板解析成语法树,Velocity调用mergeTemplate方法时会渲染整棵树...详细介绍大家可以看官网,传送门放这里了:The Apache Velocity Project 2、 快速入门 这里给大家简单演示如何使用Velocity定义html 模板,然后将动态数据填充到模板中,...3.3.3 方法引用 方法引用实际就是指方法调用操作,关注点返回和参数 , 方法的返回将输出到最终结果中 语法 描述 $变量名.方法([入参1[, 入参2]*]?)...3.4 指令 方法引用实际就是指方法调用操作,关注点返回和参数 , 方法的返回将输出到最终结果中 语法 描述 $变量名.方法([入参1[, 入参2]*]?)

5.2K20

velocity模板引擎学习(1)

struts2同时支持jstl(.jsp)、velocity(.vm)、freemaker(.ftl)三种模板。...的语法符号大概分二类,一类用#开头,代表控制符号,#set表示定义变量,另一类用$开头,通常用于显示变量,上面的示例定义了三个变量: awbpre 为'112',awbno为'89089011',airwayBillNo...为 '112 - 89089011' 第4,5二行输出内容 三、遍历数组 1 #set($list = ["CTU", "SHA", "LAX"]) 2 #foreach ($item in...#end 8 #end 上面是判断集合是否为空的,如果判断单个对象是否为空,参考下面这样: 1 #if($(orderDto)) 2 订单对象有...$(orderDto)) 8 订单对象为空 9 #else 10 订单对象有 11 #end 六、宏示例 宏可以理解为“函数”,定义一个宏即相当于定义一个子函数

74050

velocity模板引擎学习(4)-在standalone的java application中使用velocityvelocity-tools

通常velocity是配合spring mvc之类的框架在web中使用,但velocity本身其实对运行环境没有过多的限制,在单独的java application中也可以独立使用,下面演示了利用velocity...模板引擎生成 『每日发货单』邮件内容: 一、先定义邮件内容模板:mail-template.vm 用户,您好: 以下是 $date.format('yyyy-MM-dd...; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.runtime.RuntimeConstants...; import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader; import org.apache.velocity.tools.generic.ConversionTool...classpath.resource.loader.class", ClasspathResourceLoader.class.getName()); ve.init(); //加载模板

82680

Apache Velocity-----基于Java的模板引擎

Velocity简介 Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。...页面再由VelocityViewServlet或任何支持Velocity的框架处理。 源代码生成:Velocity可基于模板生成Java、SQL或PostScript源代码。...另外还可以使用$取出在VelocityContext容器中存放的 #set(${!name} = "velocity") #set(${!...#end 其中,$item代表遍历的每一项,velocityCount是Velocity提供的用来记录当前循环次数的计数器,默认从1开始计数,可以在velocity.properties文件中修改其初始...当然,也可以不配置velocity.properties,使用缺省的即可. ## 设置模板文件加载器,webapp从应用根目录加载 resource.loader = webapp webapp.resource.loader.class

8.4K20

velocity调用java静态方法_java模板引擎

一、在eclipse 中新建一个工程,把包velocity-1.6.3.jar到在WEB-INF/lib下, 二、新建了一个hello.vm的测式模板 Html代码 HELLO!.../classes路径加载Velocity模板文件,取消下面两行的注释 #resource.loader=class #class.resource.loader.class=org.apache.Velocity.runtime.resource.loader.ClasspathResourceLoader...#如需禁止系统通过文件系统加载模板文件,注释如下两行 resource.loader=file file.resource.loader.path=D:\Workspaces\MyEclipse 8.5...\velocity\WebRoot\WEB-INF\velocityTempalte #确定从何处加载velocity模板文件 file.resource.loader.cache=false #设置读取模板文件的解码格式...(RuntimeSingleton.java:243) at org.apache.velocity.app.Velocity.init(Velocity.java:93) at velocity.test.VelocityTest.main

2K10

hashMap 的计算hash

1.获得key对象的hashcode 首先调用key对象的hashcode() 方法,获得key的hashcode 2.根据hashcode计算出hash(要求在[0,数组长度-1]区间)...: hash-hashcode/hashcode; 也就是说,hash总是1,意味着,键值对对象都会存储到数组索引1位置,这样就形成了一个非常长的链表,相当于没存储一个对象都会发生“hash冲突”,...hashmap也退化成了一个“链表”。...2.一种简单和常用的算法是(相除取余算法) hash=hashcode%数组长度 这种算法可以让hash均匀分布在[0,数组长度-1]的区间,但是,这种算法由于使用了“除法”,效率低下,jdk后来改进了算法...,首先约定数组长度必须为2的整数幂,这样采用位运算即可实现取余的效果:hash=hashcode&(数组长度-1)。

2.1K10

漏洞预警 | Apache Solr Velocity 模板远程代码执行漏洞

【漏洞预警 】Apache Solr Velocity 模板远程代码执行漏洞 ?...Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现 近日国外安全研究员s00py在Github上公开了Apache Solr Velocity的服务端模板注入漏洞的...POC 文档名称 Apache Solr Velocity模板远程代码执行漏洞预警 关键字 Apache Solr,Velocity模板,远程代码执行漏洞 发布日期 2019年10月31日 0x01漏洞描述...Solr集成的VelocityResponseWriter组件,可以允许攻击者构造特定请求修改相关配置,使VelocityResponseWriter组件允许加载指定模板,从而导致Velocity模版注入远程命令执行漏洞...data = { "update-queryresponsewriter": { "startup": "lazy", "name": "velocity

64120
领券