从数据库中检索blob图像并使用javascript将其打印为图像

时间:2013-05-07 05:05:35

标签: javascript jsf primefaces

这是javascript中的ui:repeat

 <ui:repeat value="#{testController.allItems}" var="item">
        image = '<p:graphicImage width='50px' value='#{imageStreamer.image}' ><f:param name='id' value='#{item.id}' /></p:graphicImage>';
        point = new google.maps.LatLng(#{item.latitude},#{item.longitude});
        createMarker(point, '#{item.name}', '#{item.address}', image);
 </ui:repeat>

testController.allItems返回包含值的实体列表和保存为blob的图片,我正在尝试使用谷歌地图进行商店定位。 createMarker为地图添加了标记。

我正在使用BalusC's方式在p:graphicImage中打印ui:repeat。参考:How to use <p:graphicImage> with DefaultStreamedContent in an ui:repeat?

这是我的createMarker

function createMarker(latlng, name, address, image) {   
    var html = image+'<br/> <b>' + name + '</b> <br/>' + address;
    var marker = new google.maps.Marker({
        map: map,
        position: latlng
    });
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(html);
        infoWindow.open(map, marker);
    });
    markers.push(marker);
}
一切正常。我的地图上有标记,点击标记时会显示图像和名称+地址。但问题是,当我再次单击标记时,图像消失,图像显示链接断开。

还有另一种从数据库中检索blob图像并使用javascript而不是p:graphicImage将其打印为图像的方法吗?

0 个答案:

没有答案