如何将Javascript变量内容放入Velocity变量中?

问题描述 投票:0回答:1

我正在使用 Polarion,它使用 Velocity Template,因此使用 javascript 和 html。很多细节并不重要,但我使用

#set($currentId = "this.id")
console.log($currentId)
activityBox.innerHTML += ${currentId};

它立即记录并正确附加 div 的正确 ID。 但是,如果我尝试从 Java API 调用函数,它无法正确评估变量 $currentId

#set($currentWorkitem = $trackerProject.getWorkItem($!{currentId}))
console.log("$currentWorkitem")

它确实调用了该函数,但参数错误。它使用“this.id”而不是实际的 Id。

我知道这很可能与速度和 JavaScript 的评估顺序有关,但我不知道是否可以解决这个问题。如何正确地将 javascript 表达式的值放入速度变量中?

java velocity
1个回答
0
投票

这是你的第一行是错误的。你自己也说了,是评估顺序问题。

this.id
在评估速度时未知,因为速度渲染发生在服务器上,然后在浏览器中进行 Javascript 评估。

© www.soinside.com 2019 - 2024. All rights reserved.