Bom Dia …
Eu o picklist do primefaces estamos numa batalha há alguns dias … não estou conseguindo recuperar os itens selecionados …
Meu XHTML
[code]<!--Formato DXF-->
<p:dialog id="dialogFiltroDXF" header="Detalhe Exportação DXF" widgetVar="exportDXF"
width="850" height="500" showEffect="explode" hideEffect="explode"
resizable="false" draggable="false" modal="true">
<h:panelGrid columns="3" style="background-position: center" >
<p:commandButton value="Exportar" update="panelProgress" oncomplete="progressDialog.hide();multiDialog.hide()"
action="#{alimentadorBean.gerarDXF}" type="submit" onclick="exportDXF.hide();progressDialog.show()" immediate="true"/>
<p:commandButton value="Cancelar" onclick="exportDXF.hide()" type="submit"></p:commandButton>
<p:commandButton id="btnL" value="Limpar Seleção" type="reset"/>
</h:panelGrid>
<p:panel header="Configuração de Exportação" toggleable="true" closable="false"
style="background-position: center" toggleSpeed="500" onToggleUpdate="pnlExport.toggle()" >
<p:tabView effect="opacity" effectDuration="normal">
<p:tab title="Transformadores">
<h:panelGrid columns="1">
<h:outputText value="Escolha os Atributos:" style="font-weight: bold"/>
<p:pickList value="#{dXFBean.atributosTransformador}"
var="atribTrafos"
itemLabel="#{atribTrafos}"
itemValue="#{atribTrafos}">
<f:facet name="sourceCaption">Opções</f:facet>
<f:facet name="targetCaption">Selecionados</f:facet>
</p:pickList>
</h:panelGrid>
</p:tab>
</p:tabView>
</p:panel>
</p:dialog>[/code]
Tenho dois Beans …um chamado AlimentadorBean e Outro DXFBean … o AlimentadorBean vai ser comum para outros Beans … Ex.: DXFBean, KMLBean, GMLBean … etc
No AlimentadorBean tenho um método que invoca um Método do DXFBean … segue código …
public void gerarDXF(){
dxfBean.gerarDXF(selectedAlimentadores, construirAlimentadores());
}
No DXFBean o método gerarDXF recebe os parametros enviados pelo AlimentadorBean …
[code]public void gerarDXF(Alimentador[] selectedAlimentadores, String alimentadoresSQL) {
try {
System.out.println("Seleção : " + atributosTransformador.getTarget().size()); //Aqui sempre dá merda ...
System.out.println("Opção : " + atributosTransformador.getSource().size());
…
[/code]
Minha Dualist está declarada no DXFBean
[code] //Transformadores
Transformador transformador = new Transformador();
opcoesAtributosTransformadores = transformador.getAtributosBlocoTransformador();
selecaoAtributosTransformadores = new ArrayList();
atributosTransformador = new DualListModel(opcoesAtributosTransformadores, selecaoAtributosTransformadores);
/**
* @return the atributosTransformador
*/
public DualListModel<String> getAtributosTransformador() {
return atributosTransformador;
}
/**
* @param atributosTransformador the atributosTransformador to set
*/
public void setAtributosTransformador(DualListModel<String> atributosTransformador) {
this.atributosTransformador = atributosTransformador;
}
[/code]
Não criei get e set para as Listas opcoesAtributosTransformadores e selecaoAtributosTransformadores
Quando chamo o método teste do meu DXFBean os itens selecionados são impressos…
[code] public String teste(){
System.out.println("Opção : " + atributosTransformador.getTarget().size());
return “”;
}
<p:commandButton value=“Teste” action="#{dXFBean.teste}"/>[/code]
Preciso de uma luz para solucionar o problema …
Desde já agradeço!