2014-11-21 73 views
1

我需要可视化一些数据,并且我想基于这些数据创建一个javascript数组。用百里香创建JavaScript变量

我想从Java代码

/*[+ 
      var [+ [[${data.getDataName}]] = [[${data.getData()}]]; 
+]*/ 

但是名称和数据出现在括号中注入自己的名字和数据给一个变量。有没有四处走动?也许你可以推荐更好的HTML模板引擎,这对JavaScript更好用吗?

现在我在我的代码中硬编码html和javascript,我想摆脱它。

+0

为什么你想创建JavaScript数组,你的数据来自java?你可以使用这些数据(来自java)直接在百里香 – 2014-11-21 07:17:32

+0

因为我需要使用flotJS来绘制这些数据有没有什么办法直接做到这一点在java? – 2014-11-21 07:26:23

+0

好吧,现在我明白了,我们有类似的要求,但我们处理与ajax请求。编辑:有一件事你可以做的,就是调用JavaScript方法在这个你已经发布 – 2014-11-21 07:41:14

回答

0

大概解决了这个现在,但我给它比一杆反正...

我不知道我理解的[+语法,但其他:

你可能不要不想动态地命名变量,除非你正在编写自己的框架或其他东西。其他人阅读会更困难。而且,显式定义变量名通常不被认为是“硬编码”。但是,如果你想编写自己的迷你框架,你可以尝试一些疯狂,像下面这样:

var data = {}; 
var name = /*[[${data.getDataName()}]]*/ ''; 
var value = /*[[${data.getData()}]]*/ ''; 

data[name] = value; 

但是,你也可以初始化一系列对像这样:[['name1', 'value1'],['name2', 'value2'], ['name3', 'value3']]。也许这是你想要的。可能最简单的方法是使用Java来定义它(如List<Pair<String>>或其他东西),或者如果你没有它,你可以使用List而不是Pair,如果你没有它并且不想制作一个