Velocity学习笔记2——Velocity能够做什么

架构搭建系统(二)Struts2+Velocity(带Velocity Tools2.0) 架构搭建全过程 我们在struts2.3基础架构上增加Velocity作为页面视图工具,struts2.3基础架构的搭建请查看 《架构搭建系统(一)Struts2基础架构搭建全过程》 velocity增加导入包后的项目lib清单 阅读详情
            一个泥土商店的例子:
            假设你是一个页面设计人员,为一个专门卖泥土的网上商店工作。我们把这个商店取名叫“网上泥土店”。这个店的业务是兴旺的。不同的顾客会购买不同的种类和数量的泥土。他们使用用户名和密码登录你的网站,这允许他们浏览他们自己的订单或者购买更多的泥土。 现在,有Terracotta土出售,而且这种泥土很受欢迎。而你的少数用户则会有规律的购买Bright Red泥土。这种泥土虽然不象Terracotta泥土那样受欢迎,而且通常位于你的web页面的边缘,但是也有出售。每个用户的信息都被记录在数据库中。 有一天,事情来了。为什么不用Velocity来达到对每个用户最感兴趣的泥土做一个特殊的处理的目的呢。
            作为一个网上泥土店的网站设计人员,你希望用户登录你的网站之后能够看到一些客户化的信息。Velocity使得对你的web页面根据登录的用户做客户化的处理很容易。
            和软件工程师沟通之后,达成的协议:
1.当前登录用户的信息会放在一个叫做$customer的引用中。
2.引用$mudsOnSpecial包含所有当作在销售的泥土的信息。
3.引用$flogger会包含一个可以获取帮助信息的方法。
            现在,是我们实现任务的时候了。记住,我们不用担心这软件工程师如何从数据库中抽取数据。我们只需要关注这3个引用。现在,让我们进行自己的工作。
            你可以在web页面中包含以下的VTL语句(VTL:Velocity Template Language, Velocity模版语言;这个会在以后做详细的介绍)。
<HTML>
<BODY>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
   #if ( $customer.hasPurchased($mud) )
      <tr>
        <td>
          $flogger.getPromo( $mud )
        </td>
      </tr>
   #end
#end
</table>
      上面用到的VTL会在后面做深入的介绍,现在我们需要关心的是这一段代码在web页面上有什么影响。
      当一个对Bright Red泥土感兴趣的顾客登录的时候,并且Bright Red泥土还在销售,那么Bright Red泥土的信息就会显示出来。当另外一个长期定购Terracotta泥土的顾客登录的时候,Terracotta泥土的信息就会显示出来(可能是一个打折的信息)。
      Velocity的非常灵活的,唯一的限制是你的创造力。(王婆卖瓜,自卖自夸哈)
提升Velocity开发效率:Velocity Tools 2.0全面解析 本文还有配套的精品资源,点击获取 简介:Velocity Tools 2.0为Apache Velocity提供了一个扩展工具集,它优化和增强了Velocity模板引擎的功能,使得开发过程更加高效和简洁。该工具集包括视图辅助方法、国际化支持、直接访问Java对象字段、防止XSS攻击的安全性增强、数据验证集成、缓存功能以及SEO友好的URL重写等,旨在帮助开发者降低代码维护成... 阅读详情

相关推荐

三维跨孔电磁波CT数据可视化框架搭建

利用matlab实现对跨孔电磁波CT实测数据反演,并搭建了三维CT数据可视化框架,可装填实测CT反演数据。

Neverlevsun的博客 1169

Velocity基本内容、语法、规则介绍

Velocity基本内容、语法、规则介绍

m0_46748682的博客 3960

【PCIe】CDNS PCIe VIP 杂记 -- Callback

最近在研究Cadence PCIe VIP,怎一个“惨淡”来描述。用的真是一言难尽啊,都是泪。记录一些最近学习的觉得想记录的内容在此,仅供参考讨论学习哈。有不对之处请指出大家一起讨论。

小邦是名小ICer的博客 2716

Velocity是什么?

转自:http://liujun5563.blog.163.com/blog/static/610921712009828105131465/?fromdm&fromSearch&isFromSearchEngine=yesVelocity是什么?

AllinShang的专栏 797

STM32H743的ADC还能这么玩?定时器触发+DMA搬运,构建低CPU占用的数据流

本文深入探讨了STM32H743微控制器中ADC的高效使用方法,通过定时器触发和DMA搬运技术实现低CPU占用的数据流采集。详细解析了硬件架构、CubeMX配置步骤及高级优化技巧,包括双缓冲技术和多ADC同步采样,适用于电机控制、音频采集等高性能应用场景。

weixin_30698527的博客 647

手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

数字IC后端设计培训教程之手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

weixin_37584728的博客 2939

【模板引擎】velocity

Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离 !Velocity主要分为app、context、runtime和一些辅助util几个部分。app模块 : 主要封装了一些接口 , 暴露给使用者使用。主要有两个类,分别是Velocity(单例)和VelocityEngine。Context模块 : 主要封装了模板渲染需要的变量Runtime模块 : 整个Velocity的核心模块,Runtime模块会将加载的模板解析

文艺倾年的博客 4758

YOLOv8【第十章:多任务扩展深度篇·第19节】YOLOv8 与 DeepLabV3+ 对比——实时性与精度的权衡!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1万+

Velocity的简单使用

velocity 简介 Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。它作为一款成熟的基于java的模板引擎,能够帮我们实现页面静态化,同时它将Java代码与网页分开,使网站在其生命周期内更加可维护,并为Java Server Pages(JSP)或PHP提供了可行的替代方案。 基本语法 # Velocity关键字都是使用#开头的,如#set、#if、#else、#e

罗罗的1024 2万+

UWB:FiRa Consortium UCI Generic Technical Specification v1.1.0(2)- 核心控制消息;会话管理;测距会话管理

测距是UWB最核心的应用。为了方便应用调用测距接口,FIRA统一了UCI命令格式,这样各个厂商可以互相兼容。

Ankie资深技术项目经理 1277

RabbitMQ高级特性 - 生产者消息确认机制

为了保证信息 从生产者 发送到 队列,因此引入了生产者的消息确认机制.通过事务机制实现.通过发送确认机制(confirm 和 return)实现.因为事务机制比较消耗性能,在实际工作中用的也不多,因此这里主要介绍confirm 和 return机制来实现发送放的确认.a)confirm 确认模式如上图,confirm 确认模式主要保障于 生产者 到 交换机 的消息可靠性.如果 Exchange成功收到消息,那么 ConfirmCallback 这个回调 ack 参数就为true。

CYK_byte的博客 1886

Velocity模板引擎

velocity介绍Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据,填充到模板中,从而实现界面和java代码的分离应用场景Web应用程序:作为为应用程序的视图,展示数据。源代码生成 :velocity可用于基于模板生成Java源代码自动电子邮件:网站注册,认证等的电子邮件模板网页静态化:基于velocity模板,生成静态网页velocity结构Velocity主要分为app、context、runtime和一些辅助util几个部分。

qq_43842093的博客 1098

【git】git: ‘interpret-trailers’ is not a git command. See ‘git --help’

cents 7.6系统. yum源安装git最新版本是1.8.3 报错: git: 'interpret-trailers' is not a git command. See 'git --help'. cannot insert change-id line in .git/COMMIT_EDITMSG 解决: git add xxx git commit -m "xxx" 然后修改 vim .git/hooks/commit-msg #if test -n "${reviewurl}" ; th

machh的专栏 4759

vue2+velocity动画学习笔记(2):velocity知识

vue2+velocity学些笔记

arrowhan的博客 1510

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Velocity学习笔记2

条件语句(#if, #elseif, #else , #end)          当一个web页面被生成时如果使用了Velocity的#if 指令,那么当条件成立的时,执行相应的代码。例如:  1 #if ( $foo ) 2   strong>Velocity!strong>

hil2000的专栏 1209

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vue2+velocity动画学习笔记(1):引入velocity

vue2 + velocity 学习

arrowhan的博客 746

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Velocity学习笔记(2) - 搭建最简单的学习环境

昨天还不了解velocity,稍微抱怨了下,嘿 经过一番探索之后,发现其实velocity还是很简单,很好入门的哈. 搭建最简单的学习环境 1.jar包是少不了的 Commons-Collections.jar Commons-Common.jar Commons-Lang.jar velocity-1.6.3.jar velocity-tools-1.4.j...

canky 150

struts2+velocity

配了N久的velocity+struts2终于配置完毕。网络上那些参考有些让人产生疑惑。特写下此文,作为下次参考。1.web.xml 置于WEB-INF下需加入velocity    org.apache.velocity.tools.view.servlet.VelocityViewServletvelocity*.vm2.toolbox.xml

毁容也帅 1676

java velocity详解_[velocity] velocity详解

(1)为什么要使用模版语言?在服务器端可以使用Velocity处理模板和生成的动态内容(HTML、XML等)。这和JSP技术的目标非常接近。但是,JSP模型可以毫无阻碍地访问底层的ServletAPI和Java编程语言。它基本上是一种在很大程度上开放的访问模型。而作为一种完全自包含的模板引擎和脚本解释器,Velocity拥有完全封闭的模型。任何针对系统和/或Java编程语言的访问都必须明确地启...

weixin_32816821的博客 4879

Velocity 学习笔记

Velocity 学习笔记变量注释单行注释多行注释文档注释数组遍历分支ifif else不解析参考资料 变量 以$开头接:字母数字下划线 alphabetic (a .. z, A .. Z) numeric (0 .. 9) underscore ("_") #set ($a = "变量a") #set ($b = "这是$a") ## 双引号解析变量 $b 这是变量a #set ($c...

灵台方寸山斜月三星洞 733

velocity参数重新赋值_velocity学习笔记(上)

Velocity笔记(上)杂七杂八的看了一些velocity的资料,把所见所得做个简单不系统的笔记写下来,算是增强记忆。动态语言的特性:动态语言需要一个解释器,而这个解释器一般在服务器中。MVCModel:系统和应用的状态表示,一般是类或者其他数据结构。可以改变系统状态的Actions和method。典型的javabean。设计初衷就是为了数据和显示的分离View:显示结果数据的组成部分,随着mo...

weixin_39635084的博客 1157

Velocity学习笔记

VTL变量的语法描述如下: $[ ! ][ { ] [a-z,A-Z][a-z,A-Z,0-9,-_]*[ } ] Velocity不支持自动类型转换,请看下面两个对比 #set($foo="9") #set($foo=$foo + 1) $foo #set($foo=9) #set($foo=$foo + 1) $foo 只有后面这个会输出期望的结果 10  VTL

xuqiyu的专栏 986

velocity 手册 2

3.3.     条件3.4.     If / ElseIf / Else  Velocity中的#if 指令允许在页面生成时,在IF条件为真的情况下包含文本。例如: #if( $foo )   Velocity!#end 变量 $foo 先求值,以决定是否为真。在这两种情况下为真: (i) $foo是一

翔的窝窝 1312

struts2 的 velocity整合

struts2 的 velocity整合 struts2 的 velocity整合 博客分类:web层velocityStrutsServletApacheWeb感觉现在的JAVA框架越来越多,纷繁复杂。想彻底研究一种框架,了解下其中的一些通用的东西,于是选择...

115
上一篇: Velocity学习笔记1——Velocity是什么
下一篇: 一些常用术语
afrag
博客等级 码龄21年 5粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值