Как изменить расположение переключателя или флажка - PullRequest
1 голос
/ 10 августа 2010

Мы используем 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 или соответствующие изменения.

Ответы [ 4 ]

2 голосов
/ 10 августа 2010

Вы можете попробовать использовать библиотеку apache tomahawk со свойством layoutWidth. Или создайте свой собственный компонент JSF

0 голосов
/ 10 августа 2010

используя томагавк, мы можем попробовать использовать 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, чтобы перейти к другому макету.

0 голосов
/ 10 августа 2010

Вы можете сделать для этого лицевую панель и настроить макет, используя и связав с Mybean, содержащим id, value, флажок ....

0 голосов
/ 10 августа 2010
  1. Во-первых, будь ясен в том, что ты хочешь ...
  2. Взгляните на: Разработка пользовательского тега JSF
  3. Узнайте, какие атрибуты вы можете передать в своем новом пользовательском теге, например (<h:customRadioButtons list="arraylist" style="table" name="rbuttons" columns="2" />)
  4. Разработай свой будущий тэг ...
...