我正在开发jira并使用Velocity变量,这些变量在Java插件代码中作为公共获取者公开。一切似乎都很好,处理完excel文件后,我在速度模板内的output.vm中得到了Java代码,但我想添加使用纯JavaScript编码的progressbar,所以我有一些js文件,我想获取速度变量例如当前已处理的问题数量,以及有多少问题可以计算进度。我无法提出解决方案,因为我将附加内部速度.vm并在超时功能后发出警报变量issueNumber完全没有变化,其值为0。issueNumber是Java中的公共实例变量。
<script>
function test() {
var get = $issueNumber;
alert(get);
}
setTimeout(test, 5000);
test();
</script>
我的公共变量issueNumber可以在输出速度文件中进行迭代后以速度的形式呈现,但是不能用作当前进度所在的javascript中的指示器。基本上我需要运行时变量而不是时间变量。
编辑:我最终实现了REST源点,但是每当我在类方法之前使用@Named @Path和在REST方法注释之前使用@GET @Path @Produces(MediaType.APPLICATION_JSON)时,在jira api浏览器中都会消失所有其他自定义端点。
速度引擎在html页面渲染期间仅将$issueNumber
替换为常数,并且仅发生一次,因此无法以这种方式跟踪任何更改。要实现所需的目标,可以在服务器端实现一个端点,该端点返回进度的实际状态,并在脚本中以一定间隔对它进行ajax调用。