Создание переключателей «да» и «нет» с использованием struts2 и freemarker - PullRequest
4 голосов
/ 07 октября 2011

В моем приложении struts2 я хотел бы связать логическое свойство (пусть оно вызывается с помощью метода isFrobbed ()) на моем контроллере с парой переключателей «да» и «нет» (я знаю, что мог быиспользуйте флажок, но по разным причинам мы бы предпочли явное «да» и «нет»).

С флажком я бы сделал что-то вроде этого:

 <@s.checkbox name="frobbed" label="would you like this to be frobbed?" />

Однако с радио-кнопками я полностью потерялся.Я знаю, что есть тег struts2 под названием «радио», но я не уверен, как он используется.Например, это не работает.

<@s.radio name="frobbed"  value="true"  label="Please frob this object" />
<@s.radio name="frobbed"  value="false" label="No frobbing, thanks." />

Я бы хотел, чтобы это было привязано к значению 'frobbed' в контроллере, чтобы, например, когда значение равно true, 'yes"RadioButton выбирается автоматически.

Есть идеи?

Ответы [ 3 ]

4 голосов
/ 21 декабря 2012

Этот синтаксис работает с FreeMarker для логического выбора:

<@s.radio label="" name="frob" list="#@java.util.LinkedHashMap@{true:'Frob it',false:'Leave unfrobbed'}" />
2 голосов
/ 07 октября 2011

Когда выбор прост: Да / Нет, Верно / Неверно - я предпочитаю определять варианты на месте внутри jsp.Нечто подобное ..

<s:radio label="Frobbed?" list="#{true:'Frob Me',false:'Leave me Frobless'}" name="frobbed" value="%{frobbed}"></s:radio>

С уважением

1 голос
/ 07 октября 2011

Обычно тег <s:radio> используется со списком параметров (или картой).Например, для карты ключом будут значения радио (например, Boolean.TRUE и Boolean.FALSE в этом случае), а значением будет метка переключателя («Frob away», «Я предпочитаю оставаться без суеты»).

<s:radio list="yesNo" name="frobbed"/>

Значение атрибута yesNo - это тот список или карта.

(Со списком вы бы выставили объект с меткой и значением и использовали бы "listKey" и"listValue" <s:radio> атрибуты. (IIRC))

...