2012-11-26 20 views
-2

這裏實例化類錯誤是我的管理Bean類,不能在JSF

公共類MapBean實現Serializable {

private MapModel polylineModel; 
public MapBean() { 
    createMap(); 
} 

public void createMap(){ 
    try { 
     polylineModel = new DefaultMapModel(); 
     LatLng coord; 
     String query = "select a.lan,a.lat from country;"; 
     Connector conn = new Connector(); 
     Statement str = (Statement) conn.getConn().createStatement(); 
     ResultSet res = str.executeQuery(query); 
     Polyline polyline1; 
     polyline1 = new Polyline(); 
     while(res.next()){ 
      coord= new LatLng(Integer.parseInt(res.getString(2)), Integer.parseInt(res.getString(1))); 

      polyline1.getPaths().add(coord); 
    } 
     polyline1.setStrokeWeight(10); 
     polyline1.setStrokeColor("#FF9900"); 
     polyline1.setStrokeOpacity(0.7); 

     polylineModel.addOverlay(polyline1); 
    } catch (SQLException ex) { 
     Logger.getLogger(MapBean.class.getName()).log(Level.SEVERE, null, ex); 
    } 




} 
    public MapModel getPolylineModel() { 
    return polylineModel; 
} 

public void onPolylineSelect(OverlaySelectEvent event) { 
    addMessage(new FacesMessage(FacesMessage.SEVERITY_INFO, "Polyline Selected", null)); 
} 

public void addMessage(FacesMessage message) { 
    FacesContext.getCurrentInstance().addMessage(null, message); 
} 

} 但問題是,當它被編譯它提供了一個這樣的錯誤這個「不能實例化類:org.primefaces.examples.view.MapBean」。是什麼原因??

+1

我也不知道。你有堆棧跟蹤還是其他附加信息? –

+0

引起:java.lang.NumberFormatException:對於輸入字符串: 「7.421558」 \t在java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) \t在java.lang.Integer.parseInt(Integer.java:456 ) \t在java.lang.Integer.parseInt(Integer.java:497) \t在org.primefaces.examples.view.MapBean.createMap(MapBean.java:56) \t在org.primefaces.examples.view。 MapBean。 (Map.Ban.java:42) – user1705260

+0

coord = new LatLng(Integer.parseInt(res.getString(2)),Integer.parseInt(res.getString(1)));似乎在這裏你得到的錯誤,經緯度返回雙重或浮動值。 –

回答

1

如果LatLng支持double,則使用此代碼。

coord= new LatLng(Double.parseDouble(res.getString(2)), Double.parseDouble(res.getString(1))); 
+0

是的,當然可以。非常感謝。 – user1705260