Radio JSF - outra dúvida

não estou conseguindo achar uma maneira de abrir uma página, com tags JSF, com o componente radio já selecionado por padrão

no HTML seria: <input type="radio" name="x" value="a" checked="checked"> A <input type="radio" name="x" value="b"> B

no JSF (não sei): <h:selectOneRadio id="radio1" layout="pageDirection"> <f:selectItem itemLabel="A" id="a" itemValue="A" /> <f:selectItem itemLabel="B" id="b" itemValue="B" /> </h:selectOneRadio>
no JSF falta a propriedade de seleção padrão…

alguém poderia dar uma ajuda?

obrigado

utilize a property “value” do selectOneRadio.

era isso mesmo diego, mas o impressionante era que eu tinha tentado usar essa propriedade e não tinha dado certo.
Hoje tentei de novo e funcionou, acho q fiz algo diferente ontem… :lol:

ficou assim:

<h:selectOneRadio id="radio1" value="A" layout="pageDirection"> <f:selectItem itemLabel="A" id="a" itemValue="A" /> <f:selectItem itemLabel="B" id="b" itemValue="B" /> </h:selectOneRadio>

valeu

aproveitando o tópico…

preciso exibir as opções do Radio em colunas que serão especificadas pelo usuário.
Estou tentando fazer isso:

<h:selectOneRadio id="radio1" value="PJ">
  <h:panelGrid columns="3">			    
    <f:selectItem itemLabel="Pessoa Física" id="pf" itemValue="PF" />
    <f:selectItem itemLabel="Pessoa Jurídica" id="pj" itemValue="PJ" />
    <f:selectItem itemLabel="Pessoa Magra" id="pm" itemValue="PM" />		
    <f:selectItem itemLabel="Pessoa Gorda" id="pg" itemValue="PG" />
    <f:selectItem itemLabel="Pessoa Feia" id="ph" itemValue="PH" />
    <f:selectItem itemLabel="Pessoa Mala" id="pl" itemValue="PL" />
    <f:selectItem itemLabel="Pessoa Bonita" id="pb" itemValue="PB" />
  </h:panelGrid>
</h:selectOneRadio>

mas não esta exibindo em 3 colunas, como especificado.

alguém saberia como posso fazer isso?!?!

valeu

[quote=matheuscechito]aproveitando o tópico…

preciso exibir as opções do Radio em colunas que serão especificadas pelo usuário.
Estou tentando fazer isso:

<h:selectOneRadio id="radio1" value="PJ" layout="pageDirection">
  <h:panelGrid columns="3">			    
    <f:selectItem itemLabel="Pessoa Física" id="pf" itemValue="PF" />
    <f:selectItem itemLabel="Pessoa Jurídica" id="pj" itemValue="PJ" />
    <f:selectItem itemLabel="Pessoa Magra" id="pm" itemValue="PM" />		
    <f:selectItem itemLabel="Pessoa Gorda" id="pg" itemValue="PG" />
    <f:selectItem itemLabel="Pessoa Feia" id="ph" itemValue="PH" />
    <f:selectItem itemLabel="Pessoa Mala" id="pl" itemValue="PL" />
    <f:selectItem itemLabel="Pessoa Bonita" id="pb" itemValue="PB" />
  </h:panelGrid>
</h:selectOneRadio>

mas não esta exibindo em 3 colunas, como especificado.

alguém saberia como posso fazer isso?!?!

valeu[/quote]

Coloque no SelectOneRadio o atributo layout=“pageDirection” conforme acima.

Ola,

copiei exatamente esse bloco e colei em meu código, sendo que ele nao exibe nada,

<h:selectOneRadio id="radio1" value="PJ" layout="pageDirection"> <h:panelGrid columns="3"> <f:selectItem itemLabel="Pessoa Física" id="pf" itemValue="PF" /> <f:selectItem itemLabel="Pessoa Jurídica" id="pj" itemValue="PJ" /> <f:selectItem itemLabel="Pessoa Magra" id="pm" itemValue="PM" /> <f:selectItem itemLabel="Pessoa Gorda" id="pg" itemValue="PG" /> <f:selectItem itemLabel="Pessoa Feia" id="ph" itemValue="PH" /> <f:selectItem itemLabel="Pessoa Mala" id="pl" itemValue="PL" /> <f:selectItem itemLabel="Pessoa Bonita" id="pb" itemValue="PB" /> </h:panelGrid> </h:selectOneRadio>

se eu retirar a tag <h:panelGrid columns=“3”> ele exibe porem nao em colunas…

como posso fazer pra colocar em colunas???

obrigada

Bom Vanessa, tenta fazer a quebra com código html. Sugestão acima é fazer isso com o
.
Desculpe, mas não pude testar isso no serviço para te dar certeza, mas prometi responde-la esta noite.

Amanha tento outras soluções e passo um feedback para você.

A verdade é que o h:selectOneRadio não aceita panelGrid. Para eu, enchergo como um erro.
Pode ser que exista alguma outra taglib que redesenhe o selectOneRadio e aceite a inserção de panelGrid, mas isso está fora dos meus conhecimentos.

Estudarei seu problema e posto mensagem para você.

Abraços,

Bom, chegando cedo hoje no serviço resolvi fazer alguns testes.
Não foi possível fazer a quebra de linhas com o html.

Bom, a unica coisa que funcionou foi o rich:spacer mas é utilizado apenas para dar espaçamento entre linhas/colunas.

Fiz testes utilizando

e também não obtive sucesso.

A única alternativa que me veio a cabeça foi em dividir isso em dois ou mais selectOneRadio. No controle de como pegar o objeto selecionado, você pode utilizar uma única variável.

Abraço.

entendi, obrigada pela ajuda. Vc conhece algum outro componente que faça isso??

Conheço apenas a biblioteca do richfaces e do ajax:

<%@taglib prefix=“a4j” uri=“http://richfaces.org/a4j”%>
<%@taglib prefix=“rich” uri=“http://richfaces.org/rich”%>

Mas não conheço componentes, em ambos, que faça o que você quer.

Se o trabalho que deseja realizar for de imediato, sugiro que faça dois selectOneRadio - para dividir em colunas.
Senão, vale a pena consultar alguma documentação na internet ou grupo de estudos de Jsf.

Caso obtenha novos conhecimentos a respeito, aguardo noticias aqui no tópico ou em contato privado.

Abraço.

pode deixar, estou tentando descobrir algo, se eu souber posto e te aviso. Se vc descobrir algo me manda tbm. vlw

Dei um jeitinho com java Script.

Espero que ajude outras pessoas :wink:

Você pode utilizar um componete do Tomahawk que faz o que você quer perfeitamente.

<t:selectManyCheckbox layout="pageDirection"  [b]layoutWidth[/b]="4"  converter="categoriaConverter" value="#{cadastroManagedBean.listaCategoriaSelecionada}">
            <t:selectItems value="#{cadastroManagedBean.listaCategoria}" var="cat" itemValue="#{cat}" itemLabel="#{cat.descricao}"/>                                
</t:selectManyCheckbox>    

O atributo layoutWidth indica a quantidade de colunas.