在Velocity中我设置了一个这样的变量:
#at ($page.config)
#set ($zip = $helper.xssSafeString($url.param("zip")))
#end
现在我想在包含这样的JavaScript文件中访问$zip
的值:
#at ($page.body)
<script type='text/javascript' src='/javascript/main.js'></script>
//...
#end
在main.js文件中,我尝试了以下我找到的解决方案here,但它检测到错误的语法或只返回字符串“$ {zip}”作为值:
var zip = ${zip};
var zip = $zip;
var zip = "${zip}";
所以我的问题是如何访问速度变量的值并将其分配给外部文件中的JavaScript变量。
答案 0 :(得分:0)
Velocity变量在速度模板中可用,您不能在不通过模板引擎的文件中使用变量。除非您指定,否则Javascript文件不会。
由于您尚未发布main.js
文件的内容,因此我会就您如何在main.js
中提供该文件提供更广泛的示例。
考虑main.js
文件的内容是:
var APP = APP || {};
APP.core = (function () {
var zip = '';
return {
setZip: function(zip) {
this.zip = zip;
},
getZip: function() {
return this.zip;
}
}
})();
在您的力度文件中,您可以添加以下内容以在zip
中设置main.js
变量:
#at ($page.body)
<script type='text/javascript' src='/javascript/main.js'></script>
<script>
APP.core.setZip(${zip});
console.log(APP.core.getZip());
</script>
#end