Jsf - selectOneListbox

2 respostas
I

Pessoal, tenho um selectOneListbox e abaixo um button para retirar itens da lista. Quando clico no botão o item selecinado só é retirado da lista no segundo clique, preciso que no primeiro clique já saia da lista, nem precisa de confirmação de exclusão.

Acredito q seja algo do ajax, parece q só no segundo clique q a lista é atualizada.

Alguem pode ajudar???

Segue código:

<a4j:outputPanel id=“endpointListBox” >



<h:selectOneListbox size=“5” value="#{connectorAction.connectorEndpoint}" id=“connectorEndpointList” styleClass=“bigBigTextfield”>

<s:selectItems value="#{connectorAction.connector.connectorEndpoints}" var="_endpoints" label="#{_endpoints.uriAddress}" itemValue="#{_endpoints}"/>

<f:converter converterId=“connectorEndpointConverter” />

</h:selectOneListbox>



</a4j:outputPanel>
<div id="contextUpdateFormButtonsRemove2">	
<span>
<a4j:commandButton value="Remove" action="#{connectorAction.removeEndpoint}" reRender="connectorEndpointList, endpointListBox" styleClass="contextFormNewButton"></a4j:commandButton> 
</span>											
</div>

Grata,
Iza

2 Respostas

fsilvermail

Ola izaura,

Tente debugar o código em sua IDE, verificando se no primeiro clique realmente esta acontecendo o desejado.

Para utilizar ajax em seu código tem que fazer 2 alterações:

Tente alterar o seu commandButton colocando em vez de action utilizar actionListener.

Antes:

<a4j:commandButton value="Remove" action="#{connectorAction.removeEndpoint}" reRender="connectorEndpointList, endpointListBox" styleClass="contextFormNewButton"></a4j:commandButton>

Depois:

<a4j:commandButton value="Remove" actionListener="#{connectorAction.removeEndpoint}" reRender="connectorEndpointList, endpointListBox" styleClass="contextFormNewButton"/>

Lembrando, action utiliza um metódo que retorna uma String e actionListener o método retona void e recebe como parametro ActionEvent, desta forma não precisa mais utilizar navegação.
Ficando da seguinte forma:

public void removeEndpoint(ActionEvent event){
   ...
}

Att

S

Iza, tudo.

Te peço por favor para vc colocar o método que vc implementou no Managed Bean para eu poder dar uma olhada. Também tive um problema parecido e consegui resolver, e para ter certeza de que irei conseguir lhe ajudar, precisava ver o seu código.

Fico aguardando. Um abraço

Marcelo

Criado 23 de setembro de 2009
Ultima resposta 23 de set. de 2009
Respostas 2
Participantes 3