表示したいリストを managedBean の getter から取得できるように、selectonemenu リストのコンバーターを作成しようとしていますgetDatasetList()
。私の managedBean は viewScoped です。
コンバーターのコードは次のとおりです。
@FacesConverter(value = "datasetConverter")
public class DatasetConverter implements Converter{
@ManagedProperty(value="#{projectCampaignManagementMB}")
private ProjectCampaignManagementMB campaignManagementMB;
@Override
public Object getAsObject(FacesContext context, UIComponent component,
String value) {
List <DataSet> datasetList=campaignManagementMB.getDatasetList();
DataSet dataSet;
String dataSetName;
if (datasetList!=null){
for(int i=0 ;i<datasetList.size();i++)
{
dataSet=datasetList.get(i);
dataSetName=dataSet.getName();
if (dataSetName.equals(value))
return dataSet;
System.out.println("getasobject dataset"+dataSet.getName());
}
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component,
Object value) {
if (value==null) return "";
System.out.println("getastring dataset"+((DataSet) value).getName());
return ((DataSet) value).getName();
}
しかし、私はこの行で java.lang.NullPointerException を取得しています
List <DataSet> datasetList=campaignManagementMB.getDatasetList();
したがって、注入された managedBean は Null です。
意味のないことを試してみましたが、うまくいきましたが、正しいものが欲しいです。私はこれを使いました
@ManagedProperty(value="#{projectCampaignManagementMB}")
private ProjectCampaignManagementMB campaignManagementMB =
new ProjectCampaignManagementMB();
それ以外の
@ManagedProperty(value="#{projectCampaignManagementMB}")
private ProjectCampaignManagementMB campaignManagementMB
どんな助けでも大歓迎です