Grails-Gsp-如何根据字段的值选中复选框

Grails-Gsp-如何根据字段的值选中复选框,grails,gsp,Grails,Gsp,在我的域中有一个名为status的属性,它是Stringtype,可以有两个值中的任意一个Applied,NotApplied 我有两个复选框来输入这个值。在我的编辑页面中,我想显示这两个复选框 如果状态的值为已应用,则必须选中相应的复选框 我的代码 <g:message code="publicRuleInstance.course.label" default="Applied" /> <g:checkBox name="status " value="${publicR

在我的域中有一个名为
status
的属性,它是
String
type,可以有两个值中的任意一个
Applied,NotApplied

我有两个复选框来输入这个值。在我的编辑页面中,我想显示这两个复选框

如果
状态
的值为
已应用
,则必须选中相应的复选框

我的代码

 <g:message code="publicRuleInstance.course.label" default="Applied" />
<g:checkBox name="status " value="${publicRuleInstance?.status }" />

<g:message code="publicRuleInstance.course.label" default="NotApplied" />
<g:checkBox name="status " value="${publicRuleInstance?.status }" />

但是这里两个复选框都被选中了

必须有一种方法来检查该值,即如果状态=已应用,则必须选中相应的复选框,否则应取消选中该复选框


有什么办法吗?

复选框的值应该是布尔值

<g:message code="publicRuleInstance.course.label" default="Applied" />
<g:checkBox name="status " value="${publicRuleInstance?.status =="Applied"}" />

<g:message code="publicRuleInstance.course.label" default="NotApplied" />
<g:checkBox name="status " value="${publicRuleInstance?.status == "NotApplied" }" />

使用
checked
属性控制复选框的状态,如中所述。 在这里,您可以添加任何表达式来确定
g:checkBox的状态:

<g:message code="publicRuleInstance.course.label" default="Applied" />
<g:checkBox name="status " value="Applied" checked="${publicRuleInstance?.status == 'Applied'}"/>

<g:message code="publicRuleInstance.course.label" default="NotApplied" />
<g:checkBox name="status " value="NotApplied" checked="${publicRuleInstance?.status == 'NotApplied'}"/>


如果您只想允许其中一个值-
已应用
未应用
a将是更好的选择。通过复选框,用户可以选择值
Applied
NotApplied

是否有硬编码规则规定复选框应具有布尔值?否-
g:checkBox
可以具有任何
。复选框的值应为布尔值符合逻辑。另一个问题是groovy将如何解析您传递的值。选中属性必须是布尔值,但值属性可以是任何值。看见