Bem galera, eu aqui de novo … resolvi um problema e apareceu outro …
Bão … seguinte, tenho um botão em minha tela que esta executando apenas 1 vez a chamada, se tendo efetuar uma nova chamada ele não funciona, porém se eu for em outro campo e fizer a chada via Ajax é executado normalmente …Escopo View
Método:
<p:commandButton value="Próximo" ajax="false" update="formProduto" actionListener="#{produtoBean.buscaP}" icon="ui-icon-arrowthick-1-e"/>
Code:
[code]public Produto buscaP(ActionEvent event){
try {
if (produto.getCodigo() != null){
if (produto.getCodigo() >= 1){
ProdutoRepository pr = new ProdutoRepository(getEntityManager());
setProduto(pr.produto(getProduto().getCodigo() + 1));
if (getProduto().getCodigo() == null || getProduto().getCodigo() == 0){
produto.setCodigo(produto.getCodigo() - 1);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_INFO,"", "PRODUTO NÃO CADASTRADO"));
}
else{
}
}
}
} catch (NullPointerException e) {
e.printStackTrace();
}
return produto;
}[/code]
Esse sempre funciona:
<p:inputText value="#{produtoBean.produto.codigo}"
size="6">
<p:ajax event="blur" update="formProduto" listener="#{produtoBean.buscar}"/>
</p:inputText>
[code]public Produto buscar(){
try {
if (getProduto().getCodigo() != null || getProduto().getCodigo() >0){
ProdutoRepository pr = new ProdutoRepository(getEntityManager());
setProduto(pr.produto(getProduto().getCodigo()));
if (getProduto().getCodigo() == null || getProduto().getCodigo() == 0){
produto = new Produto();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_INFO,"", "PRODUTO NÃO CADASTRADO"));
}
else{
}
}
} catch (NullPointerException e) {
e.printStackTrace();
}
return produto;
}[/code]