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

问题描述 投票:0回答:2

我正在使用 Spring 3.0.6 及其标签库。我正在使用 form: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
的隐藏字段。我读到我可以手动编码,但我也读到它应该自动创建隐藏字段。

java spring checkbox taglib
2个回答
0
投票

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


我想我需要将其作为可能的错误报告给 Spring 开发人员。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.