我们使用h:selectManyCheckbox和h:selectOneRadio来针对特定元素呈现选择。我们希望能够灵活地水平,垂直或按多列排列选项。
e.g.
1. Horizontally
one two three four five six
2. Vertically
one
two
three
four
five
six
3. 2 columns
one two
three four
five six
4. 3 columns
one two three
four five six
我们如何使用现有的jsf标签或适当的更改来实现这一目标。
答案 0 :(得分:2)
您可以尝试使用带有layoutWidth属性的apache tomahawk库。或者创建自己的JSF组件
答案 1 :(得分:0)
<h:customRadioButtons list="arraylist" style="table" name="rbuttons" columns="2" />
)答案 2 :(得分:0)
使用tomahawk,我们可以尝试使用layout =“spread”,如:
<t:selectOneRadio id="test" value="one" layout="spread" border="1">
<f:selectItem itemLabel="one" itemValue="one" />
<f:selectItem itemLabel="two" itemValue="two" />
<f:selectItem itemLabel="three" itemValue="three" />
<f:selectItem itemLabel="four" itemValue="four" />
<f:selectItem itemLabel="five" itemValue="five" />
</t:selectOneRadio>
<t:panelGrid columns="2">
<t:radio for="test" index="0"></t:radio>
<t:radio for="test" index="1"></t:radio>
</t:panelGrid>
<t:panelGrid columns="3">
<t:radio for="test" index="2"></t:radio>
<t:radio for="test" index="3"></t:radio>
<t:radio for="test" index="4"></t:radio>
</t:panelGrid>
然后使用ajax重新渲染此t:selectOneRadio以更改为其他布局。
答案 3 :(得分:-2)
您可以为此设置facelate并使用包含id,value,checked ....的Mybean绑定来自定义您的布局。