2014-02-10 5 views
0

Я знаю, что это должно быть очень легко достичь, но я пробовал все и до сих пор не работает. Моя JSP форма довольно проста (код не полностью отвечал):Spring jsp checkbox not binding

<form:form id="form" class="form-horizontal" method="post" action="AddDoc" commandName="document" enctype="multipart/form-data"> 
    <div id="divManual" class="checkbox"> 
     <label id="labelManual"> 
      ${document.manual} 
      <form:checkbox id="chkManual" path="manual" label="This is a manual"/> 
       <sf:errors path="manual" class="text-danger"/> 
     </label> 
    </div> 
    <input id="submitForm" type="submit" class="btn btn-primary btn-lg" name="commit" value="Finish"> 
</form:form> 

«Документ» объект только простой POJO. При отправке формы весь объект проходит процесс проверки, тогда контроллер извлекает один и тот же объект, если есть ошибки, и каждый параметр формы правильно привязан, за исключением этого «ручного» параметра, который должен быть правильно проверен/снят, но он всегда отображается неконтролируемым, независимо от того, проверял ли пользователь его перед отправкой. Как видно из строки ${document.manual}, я печатаю на той же странице значение параметра, и могу сказать, что оно всегда правильно, но по какой-то причине form:checkbox не получает привязанного значения. Пожалуйста, любые идеи?

ответ

0

Ознакомьтесь с учебным пособием Mykong @MyKong Tutorial для полного описания предварительных условий и ноу-хау.

Основано на комментарии:
Вы всегда можете сделать: $ {document.manual} внутри цикла for. Либо или цикл java для цикла внутри скриптлета.

Это точно не считается обязательным.

+0

Прошу прощения, я проверил это учебное пособие и не могу заставить его работать ... Логический атрибут из модели правильно напечатан на странице, но форма: флажок всегда не отмечен. – Hauri

+0

Обновлен мой ответ. – Gyan

0

Решено. Глупый я: некоторые js всегда устанавливали его непроверенным при загрузке страницы. Прости!! В любом случае, спасибо.