JavaScript 文件中的访问速度变量
Access Velocity Variable in JavaScript File
在 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,但它要么检测到错误的语法,要么检测到 returns 字符串 "${zip} " 作为值:
var zip = ${zip};
var zip = $zip;
var zip = "${zip}";
所以我的问题是如何访问速度变量的值并分配给外部文件中的 JavaScript 变量。
速度模板中提供了速度变量,您不能在未通过模板引擎的文件中使用您的变量。 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;
}
}
})();
在您的速度文件中,您可以添加以下内容以在 main.js
中设置 zip
变量:
#at ($page.body)
<script type='text/javascript' src='/javascript/main.js'></script>
<script>
APP.core.setZip(${zip});
console.log(APP.core.getZip());
</script>
#end
在 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,但它要么检测到错误的语法,要么检测到 returns 字符串 "${zip} " 作为值:
var zip = ${zip};
var zip = $zip;
var zip = "${zip}";
所以我的问题是如何访问速度变量的值并分配给外部文件中的 JavaScript 变量。
速度模板中提供了速度变量,您不能在未通过模板引擎的文件中使用您的变量。 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;
}
}
})();
在您的速度文件中,您可以添加以下内容以在 main.js
中设置 zip
变量:
#at ($page.body)
<script type='text/javascript' src='/javascript/main.js'></script>
<script>
APP.core.setZip(${zip});
console.log(APP.core.getZip());
</script>
#end