比如我#set($name="abc\"")
在我后面用到$name的时候双引号确实也输出了,但是前面的那个\斜杠也输出了,
我怎么把\斜杠给去掉,或者是能更好的转义双引号?
示例代码在http://jacktom.iteye.com/blog/174717 其中
helloworld.vm 已经被改为:
##test assign
#set($name = "gan.shu.man")
#if($name=="gan.shu.man")
#set($name="abc\"")
#end
Employee name: $gan.shu.man
##test condition
#if($name == "gan.shu.man")
$name: very good!!
#else
$name: sorry!!
#end
Product information
##test circular
#foreach($product in $productList)
$product.Name $$product.Price
#end
##test program assign
Total Price: $$totalPrice
输出结果是
2008-7-9 17:19:16 org.apache.velocity.runtime.log.JdkLogChute log
信息: FileResourceLoader : adding path '.'
2008-7-9 17:19:16 org.apache.velocity.runtime.log.JdkLogChute log
信息: Null reference [template './src/helloworld.vm', line 7, column 16] : $gan.shu.man cannot be resolved.
Employee name: $gan.shu.man
abc\": sorry!! //这里怎么去掉\斜杠?
Product information
Product 1 $12.99
Product 2 $13.99
Product 3 $11.99
Total Price: $38.97
问题补充:\\" 这样的话直接报错。。。。
问题补充:假如字符串中有单引号和双引号,同样还是要转换一个单引号或者双引号,所以必须要解决一个出来
相关推荐
在众多模板引擎中,Velocity和FreeMarker是两种非常受欢迎的选择。下面我们将从多个方面对这两种模板引擎进行详细的比较。 #### 一、简介 - **Velocity**:是一个基于Java的模板引擎,它允许开发者使用简单的模板...
1. **初始化Velocity上下文**:在Java代码中,你需要创建一个`VelocityContext`对象,并向其中添加你要在模板中使用的变量。 2. **加载模板**:使用`VelocityReader`或`ResourceLoader`加载模板文件。 3. **合并上...
当使用#set 指令时,括在双引号中的字面字符串将解析和重新解释,如下所示: #set($directoryRoot = "www" ) #set($templateName = "index.vm" ) #set($template = "$directoryRoot/$templateName" ) $template 输出...
Velocity是由Apache软件基金会开发的一个开源项目,它最初设计用于生成静态网站内容,但后来被广泛应用于各种Java应用中,如电子邮件模板、报告生成、XML文档构建等。Velocity的核心理念是“分离展示层和逻辑层”,...
- **变量 (Reference)**:变量是一种参考类型,在 Velocity 中用来引用 Java 代码中定义的对象或其他 VTL 语句的值。变量以 `$` 字符开头。 - **示例**:`<html><body>Hello $customer.Name!</body></html>`。在这个...
2. **模板语言**:Velocity模板语言(VTL)是 Velocity 的核心,它允许开发者在模板中嵌入Java代码,但不直接执行Java代码,而是通过VelocityEngine编译并执行。 3. **上下文(Context)**:Velocity中的Context对象...
Velocity是一个基于Java的模板引擎,它的主要用途是将动态内容嵌入到Web页面中。模板引擎是一种将模板(template)和数据结合生成文档的软件。Velocity通过使用简单而功能强大的脚本语言——Velocity模板语言...
Velocity 是一个基于Java的模板引擎,它允许网页设计师在页面中嵌入动态内容,而无需直接接触Java代码。通过Velocity,网页设计师可以专注于设计工作,而程序员则可以专注于编写高效的应用代码,实现了Model-View-...
当使用 #set 指令时,括在双引号中的字面字符串将解析和重新解释。例如: #set($name = "hello") Velocity 中变量的定义可以是弱类型的,例如: #set($directoryRoot = "www") #set($templateName = "index.vm")...
在Eclipse中集成Velocity插件,可以方便地进行Velocity模板的编写和调试,提高开发效率。 首先,让我们深入了解一下Velocity插件在Eclipse中的作用。Velocity插件提供以下功能: 1. **代码提示和自动完成**:在...
这样,Velocity会将`$vice`的值"klepto"插入到文本中,输出`Jack is a kleptomaniac.`。 总的来说,Velocity提供了一种强大且灵活的方式,让Web设计师和程序员能够协作构建动态网站,同时保持代码的清晰性和可维护...
velocity精典中文帮助文档
Velocity 中的双引号和引号有所不同。双引号用于包含字符串,例如 `#set ($var="helo")`。引号用于包含变量名,例如 `'$var'`。 条件语句 Velocity 中的条件语句使用 `#if` 和 `#end` 指令,例如 `#if( $foo )...
在Web开发中,Velocity 提供了Velocity Template Language(VTL),使得页面设计人员可以专注于页面布局和样式,而Java程序员则处理业务逻辑。例如,在一个在线MUD商店的场景中,Velocity 可以根据用户的购买历史...
Velocity是Apache软件基金会的一个开源项目,它...总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端的清晰分离,提高了开发效率和用户体验。
Velocity是一个强大的模板引擎,它允许开发者通过VTL(Velocity Template Language)在模板中引用Java代码中的对象。这种分离式的开发模式符合Model-View-Controller(MVC)架构,使得Web设计师可以专注于页面设计,...
总的来说,防止Velocity中的XSS攻击需要多方面的考虑,包括输入验证、数据转义、模板限制和及时更新。`EscapeRequestReference.java`这一文件可能是这些措施的一个具体实现,通过编码和处理请求引用,帮助开发者构建...
#### 二、什么是 Velocity?(What is Velocity?) Velocity 是一个基于 Java 的模板引擎,它允许网页设计人员引用 Java 代码中定义的方法。网页设计人员可以与 Java 程序员并行工作,根据模型-视图-控制器 (MVC) ...
在这个"velocity的学习资料"压缩包中,我们很可能会找到关于Velocity的基本概念、语法、最佳实践以及如何将其整合到Java Web项目中的相关信息。 1. **Velocity基本概念** - **模板语言**: Velocity使用简单的文本...
在Velocity的实现中,还可以通过转义字符实现对VTL特殊字符的转义,同时在输出文本时也可以使用转义字符以达到预期的显示效果。例如,可以使用转义字符来插入一个美元符号“$”而不引起变量解析。 VTL格式化问题...