0

我想使用 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>
4

1 回答 1

1

latlngList 为空。在向其中添加内容之前,使用 new ArrayList() 对其进行初始化。

于 2012-02-17T16:55:18.617 回答