列表元素如何在下循环播放?

在我的html页面中,我想遍历我的Java类返回的属性,但是在标记下进行。

目前我的html页面有:

 
.... var markers = [ ['Bondi Beach', -33.890542, 151.274856], ['Coogee Beach', -33.923036, 151.259052], ['Cronulla Beach', -34.028249, 151.157507], ['Manly Beach', -33.80010128657071, 151.28747820854187], ['Maroubra Beach', -33.950198, 151.259302] ]; .....

我的Java类有以下getter:

 //returns [0] = "something, -33.89, 151.2" [1] = "beach, -33.9, 15.02" etc. public List getVals() { return vals; } public String getGoogleClass() { if (vals.size() == 0) return ""; return "map_canvas"; } 

如何将标记中的markers变量中的值替换为getVals()返回的值?

不。为了生成JSON,在Java中我会使用JSONStringer ,或者使用JSON.stringify的服务器端JavaScript,以避免使用模板。

例如,模板文件可以执行以下操作:

  

相应的logic.js文件可以:

 use(function () { var myObj = { foo: "bar", arr: [1,2,3,4,5,6,7,8,9,10] }; return { json: JSON.stringify(myObj) }; }); 

对于良好的关注点分离更好的方法是完全避免内联脚本,这也将消除这里所需的令人担忧的上下文=“不安全”。 最好的方法是将其放入数据属性中,这是为此精确制作的。 所以你的模板看起来如下:

 
...

可能看起来JSON没有必要转义,但你不需要考虑它们,HTML会很好地处理它们。 您可以使用REPL live Sightly评估环境试用我的上述示例: https : //github.com/Adobe-Marketing-Cloud/aem-sightly-repl

您可以创建一个公开数据的java slingservlet,并在脚本标记内使用ajax命中servlet。

这里有点指导