2014-02-10 66 views
0

我知道这应该很容易实现,但我已经尝试了一切,仍然无法正常工作。 我的JSP形式很简单(代码没有完全发布):弹簧jsp复选框没有绑定

<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了解先决条件和知识的完整描述。

基于评论:
您可以随时执行:for循环中的$ {document.manual}。 scriptlet内部或java for循环。

这不会完全算作绑定。

+0

对不起,我检查了教程并且无法使其工作...模型中的布尔属性正确地打印在页面上,但窗体:复选框始终未选中。 – Hauri

+0

更新了我的答案。 – Gyan

0

已解决。愚蠢的我:一些js总是在加载页面时将其设置为未选中状态。对不起!!无论如何,谢谢你。