Hallo zusammen. Ich arbeite mich gerade durch ein CDI Tutorial mit JSF, bekomme aber leider eine Nullpointerexception. Mein Service objekt ist NULL.
Ich weiss echt nicht wieso, halte mich an alle Vorgaben. Arbeite mit Netbeans 7.0 und die beans.xml ist vorhanden. Wäre super wenn jemand eine idee hätte
Gruß
Ich weiss echt nicht wieso, halte mich an alle Vorgaben. Arbeite mit Netbeans 7.0 und die beans.xml ist vorhanden. Wäre super wenn jemand eine idee hätte
Gruß
HTML:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<p:commandButton value="PrimeFaces Button" />
</h:form>
<p:pieChart value="#{dataManager.pieModel}" legendPosition="w" />
</h:body>
</html>
Java:
package de.oppermann.backend.data;
import de.oppermann.external.api.DataService;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.primefaces.model.chart.PieChartModel;
@Named
@SessionScoped
public class DataManager implements Serializable {
@Inject
private DataService service;
private PieChartModel pieModel;
public DataManager() {
}
public PieChartModel getPieModel() {
pieModel.setData(service.getData());
return pieModel;
}
public void setPieModel(PieChartModel pieModel) {
this.pieModel = pieModel;
}
}
Java:
package de.oppermann.external.api;
import java.util.Map;
public interface DataService {
public Map<String, Number> getData();
}
Java:
package de.oppermann.external.implementations;
import de.oppermann.external.api.DataService;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
public class DataServiceImpl implements DataService, Serializable {
private Map<String, Number> internalMap = new HashMap<String, Number>();
@Override
public Map<String, Number> getData() {
internalMap.put("Java", 1234);
internalMap.put("C++", 2234);
internalMap.put("C", 1888);
internalMap.put("PHP", 1555);
internalMap.put("C#", 1000);
return internalMap;
}
}