gpt4 book ai didi

jsf - 在转换器中注入(inject) managedBean

转载 作者:行者123 更新时间:2023-12-04 19:42:25 31 4
gpt4 key购买 nike

<分区>

我正在尝试为我的 selectonemenu 列表编写一个转换器,以便可以从 managedBean 的 getter 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();

所以注入(inject)的managedBean为Null,

我尝试了一些没有意义但有效的东西,但我想要一些正确的东西。我用过这个

@ManagedProperty(value="#{projectCampaignManagementMB}")
private ProjectCampaignManagementMB campaignManagementMB =
new ProjectCampaignManagementMB();

代替

@ManagedProperty(value="#{projectCampaignManagementMB}")
private ProjectCampaignManagementMB campaignManagementMB

任何帮助将不胜感激

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com