JSF 2 como sobrescrever h:selectOneRadio, preciso evitar que ele gera uma tabela

Boa tarde,

Estou usando h:selectOneRadio ele está gerando uma tabela no html.

<h:selectOneRadio value="PJ" >
  <f:selectItem id="tpPJ" itemLabel="PJ" itemValue="PJ" />
  <f:selectItem id="tpPF" itemLabel="PF" itemValue="PF" />
</h:selectOneRadio>

E ele gera um html assim:

<table id="j_idt43:j_idt47">

	<tr>
<td>
<input type="radio" checked="checked" name="j_idt43:j_idt47" id="j_idt43:j_idt47:0" value="PJ" onchange="mojarra.ab(this,event,'change',0,'j_idt43:panelFormaConsulta')" /><label for="j_idt43:j_idt47:0"> PJ</label></td>
<td>
<input type="radio" name="j_idt43:j_idt47" id="j_idt43:j_idt47:1" value="PF" onchange="mojarra.ab(this,event,'change',0,'j_idt43:panelFormaConsulta')" /><label for="j_idt43:j_idt47:1"> PF</label></td>
	</tr>
</table>

Como sobrescrever o selectOneRadio no JSF pra ele não cuspir o table.

Muito obrigado

Desculpe Barreto, mas ficou meio confuso a sua pergunta:

Primeiro que o value não esta associado a nenhum mb e segundo até onde sei essa é a “tradução” do JSF para o HTML.

Qual seria o seu problema mais detalhado??

Abraços Jomello

Opa Jomello,

Então estou usando o componente <h:selectOneRadio> do JSF (http://java.sun.com/jsf/html). Porém o código html gerado constroi uma tabela, queria sobrescrever o componente <h:selectOneRadio> ou até criar uma outra tag semelhante que gera um html mais limpo.

abs
Daniel

Barreto, voce já pensou em usar um framework tipo primefaces??

Olha s hora que voce ver garanto que voce não vai ficar somente no JSF.

Mas voltando a sua questão, ainda não vi o seu problema, a minha impressão é que voce esta preocupado com o codig gerado, não vejo o porque disso:-)

Caso voce queira ver e acompanhar todo o desenvolvimento do Primefaces segue o link para o svn: http://primefaces.googlecode.com/svn

Aqui voce tem tudo deles e para baixar basta usar o tortuise por exemplo ok :slight_smile:

Abraços

Jomello

OBS: Caso nada disso te ajude, fala “o que e para que voce quer um codigo mais limpo” ok

Jomello,

Conheço o primefaces e o richfaces, já utilizei em projetos as duas tecnologias.

Para estudos pessoais gostaria de reescrever a tag selectOneRadio, pra evitar que ele crie tabela.

Se alguém souber de algum exemplo ou qualquer dica é bem-vinda.

Muito obrigado

[quote=dbarreto]Jomello,

Conheço o primefaces e o richfaces, já utilizei em projetos as duas tecnologias.

Para estudos pessoais gostaria de reescrever a tag selectOneRadio, pra evitar que ele crie tabela.

Se alguém souber de algum exemplo ou qualquer dica é bem-vinda.

Muito obrigado[/quote]

Cara, voce poderia criar um componente que extende o radio do JSF. E criar uma nova classe que extende Renderer, que é a classe que efetivamente gera o HTML.

Mas…tenho a mesma questão do colega acima: por que isso? O HTML gerado da maioria dos componentes é um tanto quanto sujo mesmo, mas no que isso impacta/atrapalha no seu desenvolvimento?

Seguindo a sua ideia de “limpar” o HTML gerado, voce teria que sobrescrever TODOS os componentes…