我想使用GMapLatLng显示点列表(纬度和经度)。但是,当我运行项目时,它在“ latlngList.add(l3);”行中给出了空指针异常。
原因是什么,我该怎么做才能克服?
支持豆
public class ManagedBean {
private String name;
private String greeting = "Greetings";
private String lat;
private String lon;
private List<GMapLatLng> latlngList;
private GMapLatLngs lats;
public ManagedBean(){
GMapLatLng l1 = new GMapLatLng("6.911878", "79.855134");
GMapLatLng l2 = new GMapLatLng("6.911963", "79.854705");
GMapLatLng l3 = new GMapLatLng("6.911974", "79.853847");
latlngList.add(l3);
latlngList.add(l2);
latlngList.add(l1);
}
public GMapLatLngs getLats() {
return lats;
}
public void setLats(GMapLatLngs lats) {
this.lats = lats;
}
public List<GMapLatLng> getLatlngList() {
return latlngList;
}
public void setLatlngList(List<GMapLatLng> latlngList) {
this.latlngList = latlngList;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLon() {
return lon;
}
public void setLon(String lon) {
this.lon = lon;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGreeting() {
return greeting;
}
public void setGreeting(String greeting) {
this.greeting = greeting;
}
public void sayHello(ActionEvent event){
System.out.println("Fired...");
this.greeting = "Hellooo, "+name;
/*this.lat = "6.911580";
this.lon = "79.849620";*/
}
}
icefaces.xhtml
<ice:form>
<ice:gMap zoomLevel="17" latitude="6.911580" longitude="79.849620">
<ice:gMapMarker>
<ice:gMapLatLngs value="#{managedBean.latlngList}"></ice:gMapLatLngs>
</ice:gMapMarker>
</ice:gMap>
</ice:form>
最佳答案
latlngList为空。在向其中添加内容之前,使用new ArrayList()对其进行初始化。
关于java - ICEfaces中的GMapLatLng,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9332227/