Olá…
Eu tenho uma Tree com RichFaces, que atualiza um <h:outputText>, quando seleciona uma folha da arvore;
e depois adiciona a folha selecionado em uma lista (<h:dataTable>)
A pagina abaixo funciona normalmente, na primeira requisição, ajax funciona blz, no entanto se dou refresh ou volto para esta página, dispara o erro que tb esta abaixo…
o erro está relacionado ao <f:param > contido no a4j:commandButton [removendo o param, não da problema na página, entretanto necessito do paramentro]
Codigo da minha página:
[code] <h:outputText escape=“false” value=“Produto Selecionado: #{arvoreBean.nodeTitle}” id=“selectedNode” />
<h:panelGrid columns=“5”>
<h:outputText value="Quantidade: "/>
<h:inputText value="#{pedidoBean.qtdProduto}" size="4"/>
<h:outputText value="Desconto: "/>
<h:inputText value="#{pedidoBean.descProduto}" size="6"/>
<h:outputText value="Valor Unit.:"/>
<a4j:commandButton value="Adicionar" actionListener="#{pedidoBean.addPedidoProduto}" reRender="pedidoProdutos">
<f:param name="prd" id="prd" value="#{arvoreBean.prd}" />
</a4j:commandButton>
</h:panelGrid>
<r:separator height="1" style="padding:10px 0" />
<r:tree style="width:300px" nodeSelectListener="#{arvoreBean.processSelection}"
reRender="selectedNode , prd" ajaxSubmitSelection="true" switchType="client"
value="#{arvoreBean.arvoreNode}" var="item">
</r:tree>
<r:separator height="1" style="padding:10px 0" />
<h:dataTable id="pedidoProdutos" styleClass="relatorios"
value="#{pedidoBean.pedidoProdutoList}" var="p">
<h:column>
<f:facet name="header">
<h:outputLabel value="Cod" />
</f:facet>
<h:outputText value="#{p.produto.codProduto}"/>
</h:column>
...
</h:dataTable>[/code]
ActionListener chamado!
public void addPedidoProduto(ActionEvent event){
PedidoProduto pedidoProduto = new PedidoProduto();
UIParameter parameter = (UIParameter) event.getComponent()
.findComponent("prd");
Produto prd = (Produto) parameter.getValue();
pedidoProduto.setProduto(prd);
pedidoProduto.setQtdItem(qtdProduto);
pedidoProduto.setValDesconto(descProduto.floatValue());
try{
pedidoProdutoList.add(pedidoProduto);
}catch (Exception e) {
e.printStackTrace();
JSFUtils.addFacesErrorMessage("ERROR ADD PRODUTO");
}
JSFUtils.addFacesOkMessage("ADD PRODUTO");
}
Error
[code]root cause
java.lang.StackOverflowError
java.lang.ref.ReferenceQueue.poll(Unknown Source)
java.util.WeakHashMap.expungeStaleEntries(Unknown Source)
java.util.WeakHashMap.size(Unknown Source)
java.util.WeakHashMap.isEmpty(Unknown Source)
org.apache.commons.beanutils.ContextClassLoaderLocal.get(ContextClassLoaderLocal.java:71)
org.apache.commons.beanutils.BeanUtilsBean.getInstance(BeanUtilsBean.java:78)
org.apache.commons.beanutils.PropertyUtilsBean.getInstance(PropertyUtilsBean.java:101)
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(PropertyUtils.java:342)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:114)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:128)
org.ajax4jsf.javascript.ScriptUtils.toScript(ScriptUtils.java:80)
… (repete-se esse erro mais um milhão de vezes)
[/code]
OBS.: Todas minhas entidades estão Serializable
Att. Dirceu