`
san_yun
  • 浏览: 2663398 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

velocity注意事项

    博客分类:
  • java
阅读更多

1. 数字范围循环:

#foreach( $index in [$pageRang.begin..$pageRang.end] )
     $index
#end

2. 获取foreach index

#foreach()
   $velocityCount
#end

从1开始

3.Velocity里的加减法

#set ($n3= $n - 1)
#set ($n2= $n3 *30)

要设置一个变量,而且相减之间要有空格,然后才能减

 

1、变量输出要带上静止修饰符,避免模板直接空指针报错

举例 :$var错误,$!var正确
如果变量referce与html代码连在一起,需要加上{}
举例 :$! {var}gadsgaggaggas

2、Macro的使用

由于宏存在着安全和性能问题,并且会影响模板的可读性,在模板中不推荐使用宏。 

3、变量引用不要加引号,避免重复转义举例:

$stringUtil.equals( "$text" "&" ) 错误
$stringUtil.equals($text, "&" ) 正确

4、关于velocity的版本

目前推荐使用 velocity 1.6.1,因为以往velocity版本往往会出现向下不兼容的情况 版本升级需要经过架构部门(校长)的充分论证和评估才能实施。

5、Velocity的安全性

为避免VELOCITY页面渲染后产生XSS漏洞,应用应该采用校长的安全方案在应用中引入toolkit-service-velocity.1.5 包。
 
XSS 的过滤,使用 velocity 提供的 xss 过滤功能

1)对于html,可以使用  #SHTML($html)2)对于JS,可以用 #SJS($js)
3)对于xml,可以使用#SXML($xml)
4)屏蔽转义,可以使用#SLITERAL()

上述宏,因为非常消耗CPU,因此如果不含特定内容,不到万不得已,不得使用。

分享到:
评论

相关推荐

    JAVA的Velocity语法学习

    ** 使用Velocity的注意事项 ** 1. 避免在模板中使用复杂的逻辑,因为Velocity主要是为了分离逻辑和展示,过于复杂的逻辑应该放在后台处理。 2. 注意变量命名规范,遵循Java的驼峰命名规则,提高代码可读性。 3. ...

    velocity 配置jar包

    注意事项 - 在 Velocity 中,空格和缩进都会被输出,因此在编写模板时需要注意格式。 - 为了避免模板中的 Java 代码暴露,尽量将复杂逻辑移到后端 Java 类中,只在模板中做简单的数据展示。 - 保持模板清晰简洁...

    Velocity10分钟了解

    - **注意事项**:如果右侧的值为 `null`,则左侧的变量可能不会被赋值,具体取决于配置。 ##### 2. 条件语句 - **If/ElseIf/Else**:实现条件分支。 ```velocity #if($foo == "true") <strong>Velocity! #else...

    velocity link方式安装插件

    这篇内容将详细解释如何通过“link”方式在Eclipse中安装Velocity插件,以及相关步骤和注意事项。 首先,我们需要理解“link”方式安装插件的概念。在Eclipse中,"link"方式是一种不直接修改Eclipse安装目录的安装...

    velocity语法

    **注意事项**: - 如果右侧值为 `null`,则左侧值保持不变。 - 在 Velocity 模板中,未定义的变量会被当作字符串处理。 - Velocity 不会将引用解析为对象的实例变量。例如,`$foo.Name` 被解释为调用 `getName()` ...

    velocity1.7

    - `README` 或 `RELEASE-NOTES`: 介绍版本更新内容和使用注意事项。 - `LICENSE` 和 `NOTICE` 文件:Apache 软件许可信息。 **4. 使用与配置** 在使用 Velocity 1.7 时,首先需要在项目的 classpath 中添加上述的 ...

    myeclipse10 velocity插件的安装及安装包

    6. **注意事项**: - 确保MyEclipse版本与Velocity插件兼容,否则可能会出现安装失败或运行异常。 - 如果安装过程中遇到问题,检查网络连接、插件来源和安装步骤的正确性。 - 定期更新插件,以获取最新的功能和...

    velocity学习笔记

    ### 高级技巧与注意事项 - **大小写敏感性**:Velocity区分变量名的大小写,`$Var`与`$var`被视为不同变量。 - **循环控制变量**:`$velocityCount`用于获取循环中的当前位置,帮助开发者在循环中实现更复杂的逻辑...

    velocity的使用

    5. **Formal Reference Notation(正规引用格式注意事项)**:用于创建更复杂的引用,如`$!object.property`。 6. **Quiet Reference Notation(静态引用输出)**:`$!`前缀用于在引用不存在时输出空字符串,而不是尝试...

    velocity用户手册

    **使用注意事项** 在Velocity模板中,确保引用的名称与Java代码中的变量或方法匹配是至关重要的,这样才能正确地从Java上下文中获取数据。Velocity对未定义的变量引用不会抛出异常,而是原样输出,因此在模板中使用...

    Velocity Web应用开发

    - **注意事项**:在 Velocity 模板中处理数据时,避免修改传入对象的状态,以免引起意料之外的问题。 ##### 2. HTML/XML 字符转义 - **重要性**:为了防止 XSS 攻击,对于从数据库获取的字符串需要进行 HTML/XML ...

    Velocity用户手册中文版

    8. 使用 Velocity 的注意事项: - 用户手册为译者整理而成,可能存在错误,需用户指正和纠正。 - 用户手册提供了反馈方式,以便用户能够提供反馈。 以上就是从给定文件内容中提取的关于 Velocity 用户手册的知识...

    Velocity_java开发指南

    - **其他细节**:涵盖Velocity使用的其他注意事项和技巧。 #### 八、Application Attributes - **属性概述**:解释Application Attributes的作用和用法。 #### 九、事件分发和处理 - **事件处理器**:介绍如何使用...

    《Velocity Web应用开发指南中文版》.doc

    #### 三、使用Velocity构建Web应用的关键注意事项 - **不要改变已输出对象的状态**:为了确保数据的一致性和安全性,应当避免在页面模板中修改已输出的对象状态。 - **HTML/XML字符转义**:为了避免XSS攻击等安全...

    velocity_语法教程

    - **注意事项**:当引用对象属性时,不建议使用花括号 `{}`。 #### 九、循环 - **主要命令**:使用`#foreach`进行循环遍历。 - **示例代码**: ```velocity #set($list=["pine", "oak", "maple"]) #foreach($...

    Velocity 语法

    **注意事项**: - 如果赋值表达式中的右值为`null`,那么左值不会被赋值,即保留原有的值。 - 未定义的变量会被默认视为字符串。 - 在Velocity中,`$foo.Name` 被解释为`foo`对象的`getName()`方法而非其实例变量`...

    Velocity.DocBook-Framework-1.0

    - **注意事项**: - 更改纸张大小; - 引用图片; - 添加新的DocBook文件到文档构建流程中。 ##### 2. 开发者信息 - **Ant文件**:项目中包含了一些Ant构建文件,用于自动化构建过程。 - **DocBook参考文件**:...

    velocity 教程

    5. 其他注意事项 - Velocity是大小写敏感的。 - `$velocityCount`变量默认提供循环计数。 - 可以使用`#if`、`#else`和`#end`来创建条件语句。 总的来说,Velocity提供了一套简洁的模板语言,使开发者能轻松地与...

    Velocity模板使用指南中文版

    #### 九、正规引用格式注意事项 - **语法**:`${object.property}` - **注意事项**: - 如果属性不存在,则会抛出异常。 - 可以使用`!`操作符避免异常。 #### 十、静态引用输出 - **语法**:`${object.property?}...

Global site tag (gtag.js) - Google Analytics