Boa tarde,
tenho um MB simples com alguns metodos de teste. Na view, chamo da forma abaixo mas nao executa nem com reza brava. Ja coloquei varios breakpoints, ja mudei a anotacao do MB de request para viewscoped e nada. Interessante que quando clico em tempo de projeto ele acha o metodo corretamente. Segue o codigo:
<h:column>
<f:facet name="header">
<h:outputText value="Manutenção" />
</f:facet>
<h:commandLink id="btnGravar" value="Gravar" action="#{controllerTrocaToner.gravaTrocaToner}" />
<p:tooltip for="btnGravar" value="Grava a data da manutenção" showEffect="slide" hideEffect="slide" />
</h:column>
...
@ManagedBean
@ViewScoped
public class ControllerTrocaToner implements Serializable {
private static final long serialVersionUID = 1L;
public void teste() {
System.out.println("Evento: ");
}
public void gravaTrocaToner() {
// Captura a impressora
...
Alguem ja passou por isso?
Se me lembro bem, pra usar action, o método tem que ter algum retorno. Você pode alterar para actionListener e no método colocar:
actionListener="#{controllerTrocaToner.gravaTrocaToner}"
public void gravaTrocaToner(ActionEvent actionEvent) {
// Captura a impressora
...
}
Acredito que o método chamado pela action não precisa ter retorno.
Lança alguma exception? Ou quando você clica não acontece nada?
[quote=williamdasflores]Acredito que o método chamado pela action não precisa ter retorno.
Lança alguma exception? Ou quando você clica não acontece nada?[/quote]Conceitualmente precisa. Toda action termina em um redirecionamento para o destino final.
Então precisa retornar uma String ou null.
O metodo simplesmente nao eh acionado, ja troquei para actionListener e tudo mais…
E nenhuma excecao eh lancada…pior eh isso !!!
Tentou com commandButton também?
<h:commandLink
<h:commandButton
<p:commandLink (Prime 331)
<p:commandButton (Prime 331)
Ate que pensei que pudesse ser algo do prime, mas pior que nao …rs
[quote=leorbarbosa]<h:commandLink
<h:commandButton
<p:commandLink (Prime 331)
<p:commandButton (Prime 331)
Ate que pensei que pudesse ser algo do prime, mas pior que nao …rs[/quote]Para mim é algum outra coisa.
Faz o teste. Cria um xhtml, que não contenha nada de componentes. apenas o <h:commandLink id=“btnGravar” value=“Gravar” action="#{controllerTrocaToner.gravaTrocaToner}" /> .
Veja se vai chamar.
Se sim, vai fazendo testes até achar oq está “bloqueando” a chamada
Agradeco a todos pela ajuda, mas a unica forma que achei foi re-criando a pagina (xhtml). Infelizemente nao descobri o problema.
Mas ta bom !
Vlw!