我创建了一个getmyPages()返回的Java类方法iterator<Page>.现在在HTML页面中,我能够实例化该类并访问该类的其他属性.
但是,我希望迭代这个迭代器的方式currentPage.listChildren工作.....
因为currentPage.listChildren回报iterator<Page>
我也回来了.
但是我无法......我正在打印的HTML标签是空的.
如何在sightly中添加for循环的前三个元素并将值显示为Total.我的代码如下
{{each(i, provision) provisionTypes}}
<label class="day-provision-label">
<input type="checkbox" class="day-provision" data-provision-type="${provision}" {{if day[provision]}}checked{{/if}} {{if !day.working}}disabled{{/if}}>
${provision.charAt(0).toUpperCase() + provision.slice(1)}
<span class="provision-rate ui-supporting-text">
$${rates[provision].toFixed(5)}
</span>
</label>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
我想要做的是,在每个for循环中,我想显示前三个元素的总数...不确定如何?
我正在尝试将谷歌地图添加到正在使用的组件.该组件将允许用户选择资产,然后从资产属性中获取纬度/经度,然后在谷歌地图中使用标记显示位置.
我的googlemap.html页面目前包含以下内容.
<div data-sly-use.ev="Google"
class="${ev.cssClass || ''}"
title="${ev.title || ''}"
data-emptytext="Evernote Asset"
id="${ev.googleClass || ''}"
>
</div>
<style>
#map-canvas {
width: 500px;
height: 400px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
function initialize() {
var mapCanvas = document.getElementById('map-canvas');
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
center: myLatlng,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(mapCanvas, mapOptions)
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Hello World!'
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
Run Code Online (Sandbox Code Playgroud)
我的Google.java是这样的
public …Run Code Online (Sandbox Code Playgroud) 我有一个属性,其中包含内容文件中所需页面的路径
...
<some_block
...
sling:resourceType="some_path_to_some_component"
somePage="some_path_to_page"
.../>
...
Run Code Online (Sandbox Code Playgroud)
合适的HTL组件some-component.html
<div data-sly-use.some_model="org.example.SomeModel">
...
</div>
Run Code Online (Sandbox Code Playgroud)
和模型类SomeModel.java
package org.example;
...
import com.day.cq.wcm.api.Page;
...
@Model(adaptables = { SlingHttpServletRequest.class, Resource.class },
defaultInjectionStrategy = DefaultInjectionStrategy.REQUIRED)
public class RelatedContentBlock {
@ValueMapValue
private Page somePage;
...
}
Run Code Online (Sandbox Code Playgroud)
我可以轻松地获得使用所需的Page对象@Inject和@Via注释,但为什么我不能用抢吧@ValueMapValue注解?我试图使用所有可能的变体,包括via属性等.是的,我可以从pageManager获取它,但@ValueMapValue有什么问题?
提前致谢!