Pessoal, estou tendo dificuldades na criação de componentes JSF2. Minha idéia é criar um selectItems que quando tiver só um objeto na lista, ele não exibe a opção “Selecione”
Meu componente
<?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">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:fn="http://java.sun.com/jsp/jstl/functions">
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="value" required="true"/>
<cc:attribute name="itemLabel" required="true" />
<cc:attribute name="itemValue" required="true" />
<cc:attribute name="var" required="true" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<p:outputPanel rendered="#{fn:length(cc.attrs.list) gt 2}">
<f:selectItem itemLabel="Selecione" itemValue="" />
</p:outputPanel>
<f:selectItems value="#{cc.attrs.value}" var="cc.attrs.var" itemValue="#{cc.attrs.itemValue}" itemLabel="#{cc.attrs.itemLabel}"/>
</cc:implementation>
</ui:composition>
Porém, quando incluo no meu selectOneMenu, o combo vem vazio:
<h:selectOneMenu value="#{meuBean.entidade}" converter="entidadeConverter">
<meuComponente:selectItems value="#{meuBean.list}" var="item" itemValue="#{item}" itemLabel="#{item.nome}"/>
</h:selectOneMenu>
Alguem sabe porque?