[英]ClassCastException with Primefaces GMap OverlaySelect event
I want to show some data inside infoWindow of Gmap. 我想在Gmap的infoWindow中显示一些数据。 the code is as follow:
代码如下:
<p:gmap center="#{mybean.latitude}, #{mybean.longitude}" zoom="15"
type="ROADMAP" model="#{mybean.mymapModel}" >
<p:ajax event="overlaySelect" listener="#{mybean.onMarkerSelect}" />
<p:gmapInfoWindow >
<div class="popup_title prem">Address:</div>
<div class="popup_address">#{mybean.markerAll.street}, #{mybean.markerAll.zipcode} #{mybean.markerAll.city}</div>
</p:gmapInfoWindow>
</p:gmap>
and My ManagedBean 和我的ManagedBean
public void onMarkerSelect(OverlaySelectEvent event) {
marker = (Marker) event.getOverlay();
markerAll = (myHelperClass) marker.getData();
}
Everything is working fine in development on my local computer. 在我的本地计算机上,一切都可以正常进行开发。 When the marker is clicked, the data (address) shows up in the infoWindow.
单击标记后,数据(地址)将显示在infoWindow中。
On production I see a lot of ClassCastException
like: 在生产中,我看到很多
ClassCastException
例如:
FullAjaxExceptionHandler: An exception occurred during processing JSF ajax request. Error page '/error.jsf' will be shown.
java.lang.ClassCastException: java.lang.String cannot be cast
to com.mypackage.util.myHelperClass
at com.mypackage.myBean.onMarkerSelect(myBean.java:416)
...
...
The property data
of the org.primefaces.model.map.Marker
is of type Object
and not String
! org.primefaces.model.map.Marker
的属性data
的类型为Object
而不是String
!
What am I doing wrong? 我究竟做错了什么? And why this works sometime and sometimes not?
为何有时会奏效?
I'm using Primefaces 5.3.7 我正在使用Primefaces 5.3.7
I think it's missing the uppercase letter m - myHelperClass by MyHelperClass 我认为它缺少大写字母m-MyHelperClass的myHelperClass
public void onMarkerSelect(OverlaySelectEvent event) {
marker = (Marker) event.getOverlay();
markerAll = (MyHelperClass) marker.getData();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.