Olá pessoal,
Tenho uma aplicação web com richfaces onde em uma determinada tela possuo um botão que executa uma ação no server (com suporte AJAX). Porém este botão envia parâmetros para o servidor para utilização antes do processamento da action.
Abaixo segue o código sendo utilizado hoje:
<a4j:commandButton
styleClass="button"
value="#{msgs.botao_gravar}"
action="#{bean.gravar}"
data="#{bean.viewHelper.message}"
oncomplete="showMessage(data);">
<a4j:actionparam
name="parametro"
value="getEstrutura()"
noEscape="true"
assignTo="#{bean.estrutura}">
</a4j:actionparam>
</a4j:commandButton>
O problema é o seguinte. Para alimentar o atributo value do actionparam, eu utilizo uma função javascript que monta uma estrutura de array com n objetos javascript (um objeto simples com dois atributos chave e valor).
Se getEstrutura devolver o objeto sem nenhum tratamento, o que recebo no server é uma string “[object]” e não algo formatado com JSON. Portanto, preciso fazer um JSON.stringify no javascript, antes de retornar os elementos do getEstrutura.
Gostaria de saber se existe alguma função built-in no A4j ou no próprio Richfaces que faça este stringify de forma transparente sem que eu precise incorporar o javascript JSON2.js no meu projeto.
Procurei na documentação do Richfaces, no fórum, no google e no livro Practical Richfaces e não encontrei nada até agora.
Qualquer ajuda será bem vinda.