- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 html 页面中,我想遍历我的 Java 类返回的属性,但在 <script>
下进行标签。
目前我的 html 页面有这个:
<div id="map_wrapper">
<div data-sly-use.ev="Foo"
class="mapping"
id="${ev.googleClass || ''"
>
</div>
</div>
<script>
....
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]
];
.....
</script>
我的 Java 类有以下 getter:
//returns [0] = "something, -33.89, 151.2" [1] = "beach, -33.9, 15.02" etc.
public List<String> getVals() {
return vals;
}
public String getGoogleClass() {
if (vals.size() == 0)
return "";
return "map_canvas";
}
问题
如何替换 markers
中的值<script>
中的变量带有从 getVals()
返回值的标签?
最佳答案
没有。为了生成 JSON,在 Java 中我会使用 JSONStringer ,或者在服务器端 JavaScript 中将是 JSON.stringify
,以避免使用模板执行此操作。
例如,模板文件可以做这样的事情:
<script data-sly-use.logic="logic.js">
var markers = ${logic.json @ context='unsafe'}
</script>
相应的 logic.js 文件会做:
use(function () {
var myObj = {
foo: "bar",
arr: [1,2,3,4,5,6,7,8,9,10]
};
return {
json: JSON.stringify(myObj)
};
});
更好的关注点分离是完全避免内联脚本,这也将消除此处需要的令人担忧的 context='unsafe'。最好的办法通常是将其放入数据属性中,这正是为此而设计的。因此您的模板将如下所示:
<div id="map_wrapper"
data-sly-use.logic="logic.js"
data-markers="${logic.json}">
...
</div>
可能看起来 JSON 进行了不必要的转义,但您不必担心它们,HTML 会很好地处理它们。您可以在 REPL live Sightly 评估环境中尝试我上面的示例: https://github.com/Adobe-Marketing-Cloud/aem-sightly-repl
关于javascript - <script> in sightly 下的list元素如何循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144652/
我有以下代码: 我要串联 properties.linkType至 properties.targetURL . 任何想法如何做到?我在网上找到了一些例子,但它们似乎不适用于我的用例。 最佳答案 这
我想知道是否有办法创建自定义属性,例如: 就像自定义 JSP 标签一样。 编辑: 根据 this blog 截至 2014 年 5 月 4 日,这是不可能的。有这方面的消息吗? 最佳答案 不,
我想用 data-sly-resource包含资源,但前提是它存在,例如 如果资源不存在,脚本执行失败并显示以下错误消息:找不到 servlet 来处理资源/content/blog/stats 。
我正在尝试从 Sightly 列表中的项目总数中减去 2。 ${itemList.size -2 @ context='number'} 结果是: org.
如何在 Sightly 中监听事件?我有一个包装器组件,用于保存有关其子级的信息,我希望能够让子级根据这些更改使用react。想想列组件。 我刚刚开始研究 colctrl.js /libs/wcm/f
我发现自 AEM 6.3 以来,标记本身就支持日期格式,如下所示: ${ 'dd~MMMM-yyyy' @ format=currentPage.jcr:created } (引用:https://g
我正在尝试使用 JAVA USE API 和 Sightly 迭代段落列表(com.day.cq.wcm.foundation.Paragraph)。它能够在后台获取段落。但是它无法读取该内容并将其显
所以看起来 sightly 非常适合获取属性,但我想获取我定义的其他子节点的属性。 这是我的 PictureFill 组件结构的开始: { jcr:primaryType: "nt:unstruc
我在尝试查找从多边形上的给定顶点可见的多边形上的所有顶点时遇到问题。到目前为止,我所写的内容只取得了有限的成功。 我可以生成光线到可见顶点,但前提是我的原点不在顶点上,使用以下方法: private
我有以下 Sightly 表达式: 动态链接模板如下: ${text} 这不起作用,因为 text=${'comp.masthead.navigation.home' @ i18n}
我正在尝试在 AEM 6.1 上执行以下操作: 开发一个简单的表单(3 个输入字段) 处理提交的值, 并使用处理后的值/结果重定向到同一页面 我能够将值提交给 servlet,并处理它们(业务逻辑),
在 JSTL 中,您可以在组件中设置变量,这些变量可用于同一请求中的所有其他组件。在 AEM 中使用 sightly 是否有等效的方法在组件之间传递数据? (我们正在研究的用例是我们希望一个组件知道何
我正在尝试实现递归算法解决汉诺塔 Sightly 中的问题。我知道这种方法可能没有很多明显的 实际应用,我把它当作一个谜。我最终得到了一些东西 像这样: 0}" data-sly-unwrap
我一直在关注文档 here 显然,为了让我的“use”类对我的 Sightly 组件可见,我所需要做的就是在“use”语句中使用完整的类名(即包括包)。 我已按照说明构建并部署了我的包。我编译的类就
我有 2 个 list 。对象 allList 中的 list1 和 pathList ${list1} 在我写"XXXXXXXXX"的地方,我需要放置类似的东西 ${pathL
考虑这个二进制图像: 正常的边缘检测算法(如 Canny )将二值图像作为输入并生成以红色显示的轮廓。我需要另一种算法,将点“P”作为第二条输入数据。 “P”是上图中的黑点。该算法应生成蓝色轮廓。蓝色
我正在尝试通过 Sightly 模板语言的 JavaScript UseAPI 调试存储在 JCR 中并在带有 Rhino 的服务器上运行的 JavaScript。 . 按照 sling.proper
我是 Quicksight 的新手,正在尝试更改克隆视觉对象的数据集。 我在 AWS Quicksight 中创建了一项分析,其中包含来自同一数据源的 6 个不同数据集。见下文: 分析中有两个选项卡(
在 Sightly 模板语言中,对于 Adobe AEM6 (CQ),如何仅当条件为真时才向元素添加属性,而无需复制大量代码/逻辑? 例如 Lots of other
上下文 我正在开发一个使用 Sightly 作为模板语言的 AEM 6 项目。我面临一个用例,其中我想根据 Sling 选择器的存在来显示或隐藏标记的某些部分。 例如,对 /content/my-pr
我是一名优秀的程序员,十分优秀!