Можно ли использовать два радиотэга для установки логических значений свойства формы в структурах? - PullRequest
1 голос
/ 07 октября 2011

Я новичок в распорках, и я особенно застрял в коде области распорок, который связан с переключателем. Независимо от того, что я делаю, я не могу получить ничего, кроме ложного значения из следующего: (CostForm)

<td align="left" width="200px" colspan="2">
    <html:radio property="responsableBool" value="false"/>No
    <html:radio property="responsableBool" value="true"/>Yes
</td>

Затем инициализируется из этого фрагмента кода:

CostForm costform = (CostForm) form;
Cost cost = new Cost();
costform.populateModel(cost);

и populateModel просто имеет: PropertyUtils.copyProperties(cost,this);

Единственное, о чем я могу думать, это то, что распорки не позволяют переключателям ссылаться на одно и то же свойство с разными значениями.

1 Ответ

0 голосов
/ 08 октября 2011

Имеется форма:

public class CostForm extends ActionForm {
    private boolean responsableBool; // And getter/setter
}

HTML:

<html:form action="/costsub">
    <html:radio property="responsableBool" value="false"/>No
    <html:radio property="responsableBool" value="true"/>Yes
    <html:submit/>
</html:form>

Действие:

public ActionForward execute([args elided]) throws Exception {
    CostForm costForm = (CostForm) form;
    System.out.println(costForm.isResponsableBool());
    // etc.

Когда я нажимаю «Нет» и «Да»Я получаю ожидаемое логическое значение внутри действия.

Я бы дважды проверил такие вещи, как правописание (английское правописание было бы "ответственным"; возможно, оно правильно написано в Cost?), Несоответствие действия / формы(Вы используете правильную форму «имя» в отображении действия?) и т. д.

...