Is there a way to tell JSF that it should NOT render a <table> element when using <h:selectOneRadio>?
I don’t use tables and it makes absolutely no sense in this case.
Any help is appreciated!
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
JSF 2.3 with
groupattributeAs per JSF spec issue 329 I have added a new
groupattribute to<h:selectOneRadio>which should make this all much less tedious. All radio button components having the samegroupvalue within a parentUIFormwill be grouped with each other. Also they won’t render any markup besides the radio button itself and the optional label if the select item has a non-nulllabel. If any, the label appears directly after the radio button.Following scenarios are also possible. When there are multiple components with same
group, and thevalueattribute and/orUISelectItemchild is absent, then it will reference those of the first component of the group.It will be available in Mojarra as per 2.3.0-m07.
JSF 2.2 with passthrough elements
If you’re on JSF 2.2 already, make use of its new passthrough elements/attribtues feature whereby you explicitly set the
nameattribute as a passthrough attribute. In order to set the submitted value in the model, you only need an additional<h:inputHidden>.In depth technical explanation can be found in this blog: Custom layout with h:selectOneRadio in JSF 2.2.
PrimeFaces (JSF 2.x)
If you happen to use PrimeFaces, then you can also use
<p:selectOneRadio layout="custom">with<p:radioButton>.You can also loop over the available items, you only need to do it during view build time:
Tomahawk (JSF 1.x or 2.x)
If you’re not on JSF 2.2 yet or if you don’t like PrimeFaces UI, grab Tomahawk’s
<t:selectOneRadio>which renders the same plain HTML output as<h:selectOneRadio>, but supports alayout="spread"attribute so that you can position the items by<t:radio>the way you want.E.g.
Custom Renderer
Supply a custom
Renderer. It’s only a bit of work. Start at the first “See also” link shown below:See also: