Spring 3.0.6 taglib - form:复选框不创建隐藏字段

时间:2015-03-31 14:06:11

标签: java spring checkbox taglib

我正在使用Spring 3.0.6及其标记库。我使用的形式是:checkbox标签。根据我阅读和研究的内容,它应该创建一个具有相同名称和前导_字符的隐藏字段。这告诉spring是否选中了复选框,以便在未选中复选框或禁用复选框时正确设置我的模型属性。

问题是我没有看到为我的表单创建的隐藏字段:复选框。我认为它可能是我的Spring版本,但我看到另一个帖子,开发人员似乎正在使用Spring 3.0.5并为他生成隐藏字段。

以下是我在JSP中创建复选框的代码片段。

<form:checkbox path="contactInformation.optOutOfProgram" value="Y" id="chkOptOutOfProgram" disabled="true" />  

以下是生成的HTML:

<input id="chkOptOutOfProgram" name="contactInformation.optOutOfProgram" disabled="disabled" type="checkbox" value="Y"/> 

页面上没有生成名称为_contactInformation.optOutOfProgram的隐藏字段。我读到我可以手动编码,但我也读过它应该自动创建隐藏字段。

1 个答案:

答案 0 :(得分:0)

我在查看Braj指出的教程时发现了这个问题,尽管教程没有明确解释这一点。 与我的代码和教程中的代码以及我在研究中看到的所有其他代码不同的一点是,我的表单中有disabled="true":复选框声明。我根据用户在其他字段中输入的内容使用jQuery禁用它。显然,如果使用窗体的disabled属性设置字段:复选框Spring标记,它不会生成隐藏字段。只要我从form:复选框中删除它,生成的html内容就会隐藏字段。

我想我需要向Spring开发人员报告这可能是一个错误。