spring MVC : form : 布尔属性的单选按钮

Posted

技术标签:

【中文标题】spring MVC : form : 布尔属性的单选按钮【英文标题】:spring MVC : form : radiobutton for Boolean property 【发布时间】:2011-07-24 14:00:54 【问题描述】:

我只想知道如何在 Spring mvc 表单中使用布尔值。

我尝试使用此代码:

我的jsp:

<form:radiobutton path="dateInterval" value="false" cssClass="radio"/>
<form:radiobutton path="dateInterval" value="true" cssClass="radio"/>

pojo 上的属性:

private Boolean dateInterval = false;

但我的 dateInterval 属性始终为空!

【问题讨论】:

属性dateInterval有getter和setter。 一个常见的错误是使用 isBlah 作为属性 Boolean blah;这是错误的。 isBlah 仅适用于布尔类型。使用 getBlah 作为布尔值; 【参考方案1】:

我让他们像这样处理我的表单:

<form:radiobutton path="someProperty" value="true"/>
    <spring:message code="label.roundYes"/>
<form:radiobutton path="someProperty" value="false"/>
    <spring:message code="label.roundNo"/>

在我的模型对象中,someProperty 看起来像这样:

private boolean someProperty = false;

效果很好。我没有用“布尔”尝试过。也许只是用 boolean 试试看是否有帮助。

【讨论】:

是的,没错,它有效!对不起这个愚蠢的问题!与布尔值而不是布尔值完美配合。谢谢。 布尔值在您不希望最初选择 true 或 false 时很有用。这个答案没有回答问题。【参考方案2】:

澄清一下:在我看来,它也适用于 Boolean 对象。我有一个使用 Spring 3 的表单,并且此设置运行完美(使用 true/false/null 值作为选项):

表单 JSP:

<form:radiobutton path="tour.routeNachZeit" value="true" />
<form:radiobutton path="tour.routeNachZeit" value="false" />

模型对象(名为Tour):

private Boolean routeNachZeit;

因此,我不明白为什么我应该将我的属性更改为 simple boolean。这适用于我的情况。

我的帮助来自这个post in the Spring Forum。

【讨论】:

以上是关于spring MVC : form : 布尔属性的单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring-MVC 中添加“必需”属性 [重复]

Spring mvc 表单提交问题!!关于date类型!!

Spring MVC,文件上传

spring mvc中如何过滤form提交数据中的空格?

asp.net mvc,剃刀部分视图-布尔属性未显示

Spring <form:select> 标签在 Spring mvc + Hibernate 应用程序中导致错误