Problemas RichFaces + comandos(action)

6 respostas
jfeliperc

então…

estou com o seguinte problema…
ao clicar em um botão (<h:commandButton) para executar um método do meu bean através da propriedade action, ora executa, ora não. Fiz alguns teste e verifiquei que em todos os casos o construtor do bean é chamado normalmente, porém o método especificado na action não é chamado.

><fieldset>
<h:outputText value=“Período:” styleClass=“label”></h:outputText>

<rich:calendar inputClass=“input” inputSize=“10” datePattern=“dd/MM/yyyy”></rich:calendar>
  à  
<rich:calendar inputClass=“input” inputSize=“10” datePattern=“dd/MM/yyyy”></rich:calendar>
      
<h:commandButton id=“buscaCarr” styleClass=“btn” value=“ver Atestado” action="#{carroForteBean.buscaAtestadoCarr}"></h:commandButton>
  
</fieldset>

package fronteira.beans;

import java.util.ArrayList;

import java.util.List;

import javax.faces.context.FacesContext;

import javax.faces.event.ValueChangeEvent;

import movimentos.AtestadoIntervencao;

import controle.Movimentos;
public class carroForteBean

{

private List<AtestadoIntervencao> listaAtestado = new ArrayList<AtestadoIntervencao>();

private String numEstab = new String("");		

public carroForteBean()

{
}

public String buscaAtestadoCarr(){

Movimentos movs = new Movimentos();

setListaAtestado(movs.buscaAtestado());

return carroforte;

}

}


alguém já passou por algo parecido e pode me ajudar?

obrigado…

6 Respostas

DirceuSobrinho

Deve estar ocorrendo algum erro de validação ou conversão

coloca um <h:messages> na pagina do form para ver se vai exibir algum error!

jfeliperc

ops…

tem mais um detalhe…

além de não executar o método, aparece erro HTTP Status 500 e o erro seguinte:

‘#{lista.desc_situacao}’ Property ‘desc_situacao’ not found on type java.lang.String

jfeliperc

o erro acima é referente ao código abaixo, contido no mesmo jsp

<rich:panel>

<rich:listShuttle sourceListWidth="350px"

targetListWidth="350px"

copyAllControlLabel="inserir tudo"

copyControlLabel=“inserir"

removeAllControlLabel=“excluir tudo"

removeControlLabel=“excluir"

sourceCaptionLabel=“Todos Movimentos"

targetCaptionLabel=“Movimentos Carro Forte"

sourceValue=”#{carroForteBean.listaAtestado}“

var=“lista"

id=“listaAtestado”>

<rich:column>

<h:outputText value=”#{lista.desc_situacao}”/>

</rich:column>

<rich:column>

<h:outputText value=”#{lista.acf_vlr_num_ant}”/>

</rich:column>

<rich:column>

<h:outputText value=”#{lista.acf_vlr_num_post}”/>

</rich:column>

</rich:listShuttle >

</rich:panel>
T

E ai cara… nessa “listaAtestado” os objetos contidos nela tem esse atributo desc_situacao? Por que esse erro fala que não está sendo encontrado esse atributo(desc_situacao) no objeto da lista…

jfeliperc

o componente listaAtestado é uma lista de objeto e a classe deste objeto contém esta propriedade(desc_situacao)
na primeira vez que clico no botão ele busca os dados, carrega a lista e a página corretamente, à partir daí já não funciona mais…

jfeliperc

OPA…

Caso alguém precise…

Consegui resolver o problema.

Em todos os componentes que “chamam” algum método do bean, inseri o parâmetro immediate=“true”.

<h:commandButton id=“buscaCarr” styleClass=“btn” immediate=“true” value=“consulta” action="#{carBean.buscaCarr}">
ou
<h:inputText immediate=“true” valueChangeListener="#{carBean.baixaSaldo}" onblur=“submit()”></h:inputText>

Assim parou o problema de não executar os métodos especificados.

Fui…

Criado 12 de agosto de 2008
Ultima resposta 12 de ago. de 2008
Respostas 6
Participantes 3