`
xulongfa
  • 浏览: 70821 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

velocity中的变量引用范围

阅读更多

今天拼一个URL的时候遇到了一个问题:

<a href="$siteServer.getURI("$!rootCat/view_beauty_vote-$!spuid.htm")">。。。。</a>

其中$rootCat和$spuid都是变量。但是velocity解析的时候把$spuid.htm 当做一个变量来处理,所以得不到正确的URL。

 

这下{}就显示出威力了。。。

(1) <a href="$!{ siteServer.getURI("$!rootCat/view_beauty_vote-$!spuid")} .htm">。。。。</a>

 

(2) <a href="$!siteServer.getURI( "$!rootCat/view_beauty_vote-$!{ spuid} .htm") ">。。。。</a>

 

PS:及其郁闷,竟然叫师兄同事们看了半个多小时,以后细节问题也要引起注意

分享到:
评论

相关推荐

    velocity中文资料以及实例详解

    1. 变量:在Velocity中,变量用$符号表示,例如 `$name`,它可以引用Java对象的属性或者方法的返回值。 2. 属性:变量可以有属性,如 `$person.name`,这会尝试访问`person`对象的`name`属性。 3. 方法:你可以调用...

    velocity中文指南

    Velocity是一个强大的模板引擎,它允许开发者通过VTL(Velocity Template Language)在模板中引用Java代码中的对象。这种分离式的开发模式符合Model-View-Controller(MVC)架构,使得Web设计师可以专注于页面设计,...

    velocity-doc

    - 引用:VTL中的引用可以分为形式引用和安静引用,它们用于变量和属性的访问控制。 - 指令:包括设置变量(#set)、定义宏(#macro)等,是VTL中最关键的部分。 - 注释:VTL支持标准的HTML注释,也可以使用特定的VTL...

    velocity语法.pdf

    3. **变量明确标识**:“{}”用于清晰地界定变量范围,防止解析时出现歧义。例如,`$someonename`可能被误认为`$someon`和`ename`,使用`${someone}name`则可避免此问题。 4. **空值处理**:“!”用于强制转换空值...

    velocity的使用

    Velocity的独特之处在于,它允许在模板中引用Java对象,但不会在最终的视图中留下任何Java代码,提高了代码的可读性和维护性。 Velocity Template Language (VTL)是Velocity的核心,它提供了一系列的语法结构,如...

    velocity初学者资料

    3. 引用:Velocity中的变量引用以 `$` 开头,如 `$a`;属性引用如 `$purchase.total` 或 `$customer.Address`;方法引用则为 `$customer.getAddress()` 或 `$page.setTitle("My Home Page")`。对于方法,可以传递...

    Velocity用户手册.doc

    变量用于引用 Java 代码中的对象,属性和方法则用来访问和操作这些对象的属性和行为。例如,`$customer.name` 可以在模板中获取并显示 Java 代码中 `customer` 对象的 `name` 属性。 Velocity 提供了多种指令来控制...

    Apache Velocity - Velocity User Guide

    Velocity 是一个基于 Java 的模板引擎,它允许网页设计人员引用 Java 代码中定义的方法。网页设计人员可以与 Java 程序员并行工作,根据模型-视图-控制器 (MVC) 模型开发网站,这意味着网页设计人员可以专注于创建...

    velocity使用指南

    Velocity 通过模板语言 VTL (Velocity Template Language) 来实现动态内容的插入,VTL 是一种非编程性的标记语言,它允许在模板中嵌入变量和控制结构,但不涉及复杂的逻辑。 Velocity 能为我们做什么?What can ...

    Velocity使用手册

    - **变量引用**:如 `$VTL_identifier`,例如 `$foo`。如果变量未定义,Velocity会原样输出变量名。 - **属性引用**:如 `$VTL_identifier.property`,可以用来访问对象的属性,例如 `$customer.Address`,这可以...

    Velocity用户手册中文版

    根据给定文件中的【标题】和【部分内容】,我们可以了解到 Velocity 是一个基于 Java 的模板引擎,它提供了一种名为 Velocity Template Language(VTL)的脚本语言,用于在网页中嵌入动态内容。以下是关于 Velocity ...

    Velocity 用户指南

    它允许页面设计者在 HTML、XML 或其他文本文件中嵌入简单的控制结构和变量引用,从而实现动态内容的生成。VTL 支持变量赋值、条件判断、循环等常见的编程结构。 #### 5. HELLO VELOCITY WORLD! 一个简单的 ...

    Velocity模板使用指南中文版

    - 变量引用:`${var}` - **属性**: - 属性声明:`#set($object.someProperty = "Value")` - 属性引用:`${object.someProperty}` - **方法调用**: - 方法声明:`#set($object.someMethod("arg"))` - 方法引用...

    Apache Velocity - VTL Reference

    - 变量引用:`#set($monkey=$bill)` - 字符串字面量:`#set($monkey.Friend='monica')` - 属性引用:`#set($monkey.Blame=$whitehouse.Leak)` - 方法引用:`#set($monkey.Plan=$spindoctor.weave($web))` - ...

    Velocity使用指南 删除掉多余表格

    例如,`$foo` 是一个标准的变量引用,`${foo}` 会始终返回一个字符串,即使 `foo` 是一个数字。 7. 条件语句 If-Else Statements 和逻辑运算符 Relational and Logical Operators `#if`、`#else` 和 `#elseif` 结合...

    velocity手册

    - **引用(References)**:在VTL中,变量被称为引用。这些引用可以指向Java代码中的对象或方法,也可以指向模板内部定义的值。 - **设置变量**:使用`#set()`指令可以定义新的引用,例如: ``` #set($a = "Velocity...

    velocity语法

    Velocity是一种基于Java的模板引擎,它的设计初衷是为了简化Web开发过程中模板语言的使用,使得开发者能够更轻松地引用Java代码中定义的对象。这一特性尤其适用于遵循MVC(Model-View-Controller)架构的Web开发项目...

    velocity_guide

    1. **变量引用**:如`$customer.Name`,用于访问模型中的数据。 2. **属性引用**:类似于变量引用,但可以更精细地控制对象的属性访问。 3. **方法调用**:如`$flogger.getPromo($mud)`,执行预定义的业务逻辑。 ...

Global site tag (gtag.js) - Google Analytics