Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用thymeleaf创建javascript变量_Java_Template Engine_Thymeleaf - Fatal编程技术网

使用thymeleaf创建javascript变量

使用thymeleaf创建javascript变量,java,template-engine,thymeleaf,Java,Template Engine,Thymeleaf,我需要可视化一些数据,并希望基于这些数据创建一个javascript数组 我想将我自己的名字和数据从java代码注入变量 /*[+ var [+ [[${data.getDataName}]] = [[${data.getData()}]]; +]*/ 但是,名称和数据显示在括号中。附近有步行街吗?也许你可以推荐更好的html模板引擎,它更适合javascript 现在我的代码中有硬编码的html和javascript,我想去掉它。现在可能已经解决了这个问题,但我还是要

我需要可视化一些数据,并希望基于这些数据创建一个javascript数组

我想将我自己的名字和数据从java代码注入变量

/*[+
           var [+ [[${data.getDataName}]] =  [[${data.getData()}]];
+]*/
但是,名称和数据显示在括号中。附近有步行街吗?也许你可以推荐更好的html模板引擎,它更适合javascript


现在我的代码中有硬编码的html和javascript,我想去掉它。

现在可能已经解决了这个问题,但我还是要试一试

我不确定我是否理解[+语法,但除此之外:

除非您正在编写自己的框架或其他东西,否则您可能不想动态命名变量。这将使其他人更难阅读。此外,显式定义变量名通常不被视为“硬编码”。但是,如果您确实想编写自己的小框架,您可以尝试一些疯狂的方法,如以下所示:

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

data[name] = value;

但是,您也可以这样初始化一系列对:
[[['name1',value1'],['name2',value2'],['name3',value3']]
。也许这就是您想要的。最简单的方法可能是在Java中定义它(作为
列表
或其他东西。或者,如果您没有并且不想创建一对
列表,您可以使用
列表
而不是
对。

为什么要使用来自java的数据创建javascript数组?您可以使用这些数据(来自java)直接在thymeleaf中。因为我需要使用flotJS绘制这些数据。有没有办法直接在java中进行绘制?好的,现在我明白了。我们有类似的要求,但我们通过ajax请求处理。抱歉,编辑:您可以做的一件事是在您发布的内容中调用javascript方法。好的。我在documentatio上找到了一些示例n:var user=/*[[${session.user}]]*/null,我假设这应该将类型解析为null,但这对我不起作用(也不解析为数组[])