Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 为什么f:convertDateTime不转换p:selectOneMenu的标签?_Jsf_Primefaces_Converter - Fatal编程技术网

Jsf 为什么f:convertDateTime不转换p:selectOneMenu的标签?

Jsf 为什么f:convertDateTime不转换p:selectOneMenu的标签?,jsf,primefaces,converter,Jsf,Primefaces,Converter,为什么我的列表没有转换?项目模式如下所示 2012年3月1日星期四00:00:00 BRT而不是所需的“MM/yyyy” 转换仅适用于项目值,而不适用于项目标签。标签仅使用默认模式显示 您最好的选择是创建一个列表,而不是自己转换项目标签的列表 List<Date> availableDates = ...; List<SelectItem> selectItems = ...; SimpleDateFormat sdf = new SimpleDateFormat("MM

为什么我的
列表
没有转换?
项目模式如下所示
2012年3月1日星期四00:00:00 BRT
而不是所需的“MM/yyyy”


转换仅适用于项目值,而不适用于项目标签。标签仅使用默认模式显示

您最好的选择是创建一个
列表
,而不是自己转换项目标签的
列表

List<Date> availableDates = ...;
List<SelectItem> selectItems = ...;
SimpleDateFormat sdf = new SimpleDateFormat("MM/yyyy");

for (Date availableDate : availableDates) {
    selectItems.add(new SelectItem(availableDate, sdf.format(availableDate)));
}
顺便说一句,此问题并非特定于
,在使用标准

时,您可能会遇到完全相同的问题。请尝试以下方法:

豆角

private SimpleDateFormat sdf;
(...)

@PostConstruct
public void init(){
    sdf = new SimpleDateFormat("MM/yyyy");
}

public SimpleDateFormat getSdf(){
    return sdf;
}

public void setSdf(SimpleDateFormat sdf){
    this.sdf = sdf;
}
xhtml



请编辑并改进您的问题。你忘了详细说明“不起作用”。你到底期望什么?到底发生了什么?它不是按照你的体验方式显示标签吗?还是产生了转换或验证错误?
<f:selectItems value="#{bean.availableDates}" var="date" 
    itemValue="#{date}" itemLabel="#{of:formatDate(date, 'MM/yyyy')}" />
private SimpleDateFormat sdf;
(...)

@PostConstruct
public void init(){
    sdf = new SimpleDateFormat("MM/yyyy");
}

public SimpleDateFormat getSdf(){
    return sdf;
}

public void setSdf(SimpleDateFormat sdf){
    this.sdf = sdf;
}
<p:selectOneMenu value="#{report003.selectedMes}">
    <p:ajax update="pesquisaThomas" listener="#{report003.loadPesquisa()}" />
    <f:selectItem itemLabel="[Todos]" itemValue="" />
    <f:selectItems value="#{report003.pesquisaMeses}"
                   var="mes" itemValue="#{mes}"
                   itemLabel="#{myMB.sdf.format(mes)}" />