Boa noite a todos,
Eu trabalhei algum tempo com struts, java script, ajax, css e afins, e nós faziamos as chamadas ajax nativas, sendo assim sabiamos o que mandavamos e recebiamos, sempre com o controle, não tinhamos grandes surpresas.
Atualmente eu estou trabalhando com a combinação contida no nome do tópico, e sempre com surpresas em relação as chamadas do a4j, problemas com bugs, e preso a cápsula gerada pelo framework, resolvi então estudar merlhor os componentes UI do jsf, o ciclo de vida, PhaseListener, e afins…
Coloquei um interceptador das requisições http(Tcpmon), para verificar o corpo da requisição ajax, e obtive algo como abaixo:
AJAXREQUEST=_viewRoot&j_id2=j_id2&j_id2%3Aj_id7=&j_id2%3AechoName=&j_id2%3AechoCount=&j_id2%3Aj_id13=Yellow&javax.faces.ViewState=j_id2&j_id2%3Aj_id18=j_id2%3Aj_id18&
Bom, segue o núcleo da pátinga, e o evento foi apenas um clique no componente <h:selectOneRadio>, porém a pergunta é pontual, e segue após o fonte.
<h:panelGrid>
<h:selectOneRadio value="#{echoBean.color}">
<f:selectItem itemLabel="Red" itemValue="Red"/>
<f:selectItem itemLabel="Blue" itemValue="Blue"/>
<f:selectItem itemLabel="Green" itemValue="Green"/>
<f:selectItem itemLabel="Yellow" itemValue="Yellow"/>
<a4j:support event="onclick" reRender="col"/>
</h:selectOneRadio>
<h:outputText id="col" value="Color: #{echoBean.color}"/>
</h:panelGrid>
Existe uma referência, livro qualquer coisa, que explique a estrutura da chamada, por exemplo, o que são os ‘%’, ‘&’, contidos no request?
Eu sei que o ‘javax.faces.ViewState’, é responsável por indentificar a árvore de componentes, e também existe os ids, mas gostaria de saber como será interpretada essa requisição, se é json, se será “quebrada”… enfim, estudar de forma mais profunda essa “coisa” para que possa resolver os problemas sem ter que ficar preso a capsula…
Desculpem se não fui claro, mas estou lendo a documentação de referência do richfaces, ja li o jsf core, pratical richfaces, e mesmo assim me sinto preso a essa capsula, e as vezes problemas surgem e o console não ajuda o suficiente…, gostaria de entender o que acontece por debaixo dos panos…, entendendo mais profundamente o core desses frameworks poderia interpetrar o conteudo das chamadas e resolver de melhor forma os problemas…
Alguma sugestão?
Obrigado.