Dúvida
Olá pessoal..alguem poderia me ajudar?
Tenho o seguinte codigo na pagina WEB
<p:commandLink id="visualizarRegistro"
update="displayPGrid"
ajax="true"
immediate="true"
oncomplete="informationDlg.show()"
>
<p:graphicImage value="../recursos/images/btn/btnVisualizar.png"
style="border:0"
width="24" height="24"/>
<f:setPropertyActionListener value="#"
target="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas}" />
</p:commandLink>
------------------------------
O session bean
@ManagedBean(name = "TipoUnidadeMedidasManagedBean")
@SessionScoped
public class TipoUnidadeMedidasManagedBean {
@EJB
private TipoUnidadeMedidasSessionBeanLocal facade;
private TipoUnidadeMedidas tipoUnidadeMedidas;
private DataModel model;
public TipoUnidadeMedidas getTipoUnidadeMedidas() {
return tipoUnidadeMedidas;
}
public void setTipoUnidadeMedidas(TipoUnidadeMedidas tipoUnidadeMedidas) {
this.tipoUnidadeMedidas = tipoUnidadeMedidas;
}
-----------------------
ERRO:O problema é que ao clicar no botão, a função não esta sendo chamada.
OBS: Informo que estou usando ele com um p:dataTable dentro de uma coluna.
Alguem saberia resolver isto?
Tenho o seguinte codigo na pagina WEB
<p:commandLink id="visualizarRegistro"
update="displayPGrid"
ajax="true"
immediate="true"
oncomplete="informationDlg.show()"
>
<p:graphicImage value="../recursos/images/btn/btnVisualizar.png"
style="border:0"
width="24" height="24"/>
<f:setPropertyActionListener value="#"
target="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas}" />
</p:commandLink>
------------------------------
O session bean
@ManagedBean(name = "TipoUnidadeMedidasManagedBean")
@SessionScoped
public class TipoUnidadeMedidasManagedBean {
@EJB
private TipoUnidadeMedidasSessionBeanLocal facade;
private TipoUnidadeMedidas tipoUnidadeMedidas;
private DataModel model;
public TipoUnidadeMedidas getTipoUnidadeMedidas() {
return tipoUnidadeMedidas;
}
public void setTipoUnidadeMedidas(TipoUnidadeMedidas tipoUnidadeMedidas) {
this.tipoUnidadeMedidas = tipoUnidadeMedidas;
}
-----------------------
ERRO:O problema é que ao clicar no botão, a função não esta sendo chamada.
OBS: Informo que estou usando ele com um p:dataTable dentro de uma coluna.
Alguem saberia resolver isto?
Andrei Hirata
Curtidas 0
Respostas
Rodrigo Andrade
14/11/2010
Vc colocou o imediate como true, com isso o método do bean não é chamado...
GOSTEI 0
Andrei Hirata
14/11/2010
Olá amigo Immediate = true serve para evitar validacoes. se for false a validacao sera obrigatoria.
Coloquei como false, e nada aconteceu. De qualquer forma,grato pela resposta
GOSTEI 0
Rodrigo Andrade
14/11/2010
entendi ... mas por que vc não usa o "<a4j: suport ao invés de jogar tudo no link?
Eu faço assim coloco as funcionalidades normais no link e dentro dele jogo o a4j: suporte para resolver as demais coisas...
Eu faço assim coloco as funcionalidades normais no link e dentro dele jogo o a4j: suporte para resolver as demais coisas...
GOSTEI 0
Davi Costa
14/11/2010
Andrei não vi você no seu código da sua página chamar nehum método não, simplesmente vc só passou uma linha da tabela para um atributo do seu Bean:
<p:commandLink id="visualizarRegistro"
update="displayPGrid"
ajax="true"
immediate="true"
oncomplete="informationDlg.show()"
>
<p:graphicImage value="../recursos/images/btn/btnVisualizar.png"
style="border:0"
width="24" height="24"/>
<f:setPropertyActionListener value="#"
target="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas}" />
</p:commandLink>
A não ser que esse códgo mais em destaque (vermelho) chame algum método do seu bean? ou estou enganado?
Dá uma olhada nisso. Espero ter ajudado
Att Davi
<p:commandLink id="visualizarRegistro"
update="displayPGrid"
ajax="true"
immediate="true"
oncomplete="informationDlg.show()"
>
<p:graphicImage value="../recursos/images/btn/btnVisualizar.png"
style="border:0"
width="24" height="24"/>
<f:setPropertyActionListener value="#"
target="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas}" />
</p:commandLink>
A não ser que esse códgo mais em destaque (vermelho) chame algum método do seu bean? ou estou enganado?
Dá uma olhada nisso. Espero ter ajudado
Att Davi
GOSTEI 0
Andrei Hirata
14/11/2010
Ola Davi.
Vamos entender o código então
Atravez do metodo abaixo
<f:setPropertyActionListener value="#"
target="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas}" />
é alimentado o meu objeto com os dados do banco de dados.
Dessa forma, depois disso, atravez do metodo oncomplete="informationDlg.show()"
é chamado um dialog do prime faces demonstrado as informações daquele objeto alimentado
<p:dialog header="#{msg.langTituloTipoUnidadeMedidasDetalhes}" widgetVar="informationDlg" modal="false" draggable="false" width="450"> <h:panelGrid id="displayPGrid" columns="2"> <h:outputText value="#{msg.langLblId}" /> <h:outputText value="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas.idTipoUnidadeMedidas}" style="font-weight:bold"/>
<h:outputText value="#{msg.langLblDescricao}" /> <h:outputText value="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas.descricao}" style="font-weight:bold"/> </h:panelGrid> </p:dialog>
Vamos entender o código então
Atravez do metodo abaixo
<f:setPropertyActionListener value="#"
target="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas}" />
é alimentado o meu objeto com os dados do banco de dados.
Dessa forma, depois disso, atravez do metodo oncomplete="informationDlg.show()"
é chamado um dialog do prime faces demonstrado as informações daquele objeto alimentado
<p:dialog header="#{msg.langTituloTipoUnidadeMedidasDetalhes}" widgetVar="informationDlg" modal="false" draggable="false" width="450"> <h:panelGrid id="displayPGrid" columns="2"> <h:outputText value="#{msg.langLblId}" /> <h:outputText value="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas.idTipoUnidadeMedidas}" style="font-weight:bold"/>
<h:outputText value="#{msg.langLblDescricao}" /> <h:outputText value="#{TipoUnidadeMedidasManagedBean.tipoUnidadeMedidas.descricao}" style="font-weight:bold"/> </h:panelGrid> </p:dialog>
GOSTEI 0
Andrei Hirata
14/11/2010
RODRIGO , A4J é do RICHFACES. Estou usando PRIMEFACES. O motivo de usar primefaces é o suporte total com JSF2.0, enquanto o RICHFACES é uma CHOradeira GERAL.
GOSTEI 0
Dyego Carmo
14/11/2010
E me conte , não ocorre nenhum erro de javascript na pagina ?
GOSTEI 0
Andrei Hirata
14/11/2010
Vou dar uma olhada se aparece erro de java script e te retorno... O incrivel é que para alguns, funcionam normalmente, mas para outros usuarios não funcionam>VAI ENTENDER.No caso estou usando Mac com eclipse, só FALTA SER ISTO>RSRSRSR.VOu tentar no windows só para ter certeza q n é MAC OS.rsrsrs
GOSTEI 0
Davi Costa
14/11/2010
Andrei, já estava pensando nisso, por aquele outro problema parecido que vc havia passado.
Mas também dá uma olhada no banco se o atributo está 100%, as vezes a gente altera a Entidade(classe Java) e no banco já existia alguns registros e devido essas alterações o hibernate não consegue carregar aquele registro como a entidade mapeada na sua aplicação. Mas acho que não é isso não deve ser problema do Mac mesmo... rsrs
Att Davi
Mas também dá uma olhada no banco se o atributo está 100%, as vezes a gente altera a Entidade(classe Java) e no banco já existia alguns registros e devido essas alterações o hibernate não consegue carregar aquele registro como a entidade mapeada na sua aplicação. Mas acho que não é isso não deve ser problema do Mac mesmo... rsrs
Att Davi
GOSTEI 0
Dyego Carmo
14/11/2010
Conseguiu resolver ?
GOSTEI 0
Andrei Hirata
14/11/2010
Olá.Devido ao tempo estou me dedicando a outros projetos.Mas quando estiver tempo vou tentar e informo para vcs oq aconteceu
GOSTEI 0
Dyego Carmo
14/11/2010
Perfeito !
GOSTEI 0
Andrei Hirata
14/11/2010
Ola pessoal..Apenas gostaria de informar que o problema foi resolvido..Nao posso informar o problema exato, mas falarei o que fooi feito para resolver este problema
A primeira coisa deixei o botao para trabalhar com ajax, depois alterei a minha funcao para " Funcao void (ActionEvent actionEvent) " e depois criei um projeto web normal.
Fazendo isto tudo funcionou tranquilo.No projeto anterior nao funcionou, com estas mudancas o que me faz pensar que Projetos Java EE tem alguma incompatibilidade com os componentes do primefaces.Afinal em projeto web normal funcinou sem nenhum problema...
A primeira coisa deixei o botao para trabalhar com ajax, depois alterei a minha funcao para " Funcao void (ActionEvent actionEvent) " e depois criei um projeto web normal.
Fazendo isto tudo funcionou tranquilo.No projeto anterior nao funcionou, com estas mudancas o que me faz pensar que Projetos Java EE tem alguma incompatibilidade com os componentes do primefaces.Afinal em projeto web normal funcinou sem nenhum problema...
GOSTEI 0
Dyego Carmo
14/11/2010
Legal !
Eh bom saber que deu tudo certo !
Valeu !
Eh bom saber que deu tudo certo !
Valeu !
GOSTEI 0