如何在grails中设置编辑单选按钮

如何在grails中设置编辑单选按钮,grails,grails-2.0,grails-domain-class,Grails,Grails 2.0,Grails Domain Class,我使用的是Grails2.1.1,我有一个域,我想在其中保存成员的宗教信仰。我正在保存它,没有问题。但当我进入编辑页面时,它并没有检查原始值。假设我正在为佛教徒保存一个宗教,在编辑时我想检查它的值。但它正在检查穆斯林。我希望在编辑页面上选中该字段。谁能在这方面帮我一下吗??!!!以下是我的尝试: 我的域类>>> class RadioButton { String religion static constraints = { } } 我的表单页面>>>

我使用的是Grails2.1.1,我有一个域,我想在其中保存成员的宗教信仰。我正在保存它,没有问题。但当我进入编辑页面时,它并没有检查原始值。假设我正在为佛教徒保存一个宗教,在编辑时我想检查它的值。但它正在检查穆斯林。我希望在编辑页面上选中该字段。谁能在这方面帮我一下吗??!!!以下是我的尝试:

我的域类>>>

    class RadioButton {

    String religion

    static constraints = {
    }
}
我的表单页面>>>

    <div class="fieldcontain ${hasErrors(bean: radioButtonInstance, field: 'religion', 'error')} ">
    <label for="religion">
        <g:message code="radioButton.religion.label" default="Religion"/>

    </label>
    <g:radio name="religion" value="muslim" checked="checked"/> Muslim <br/>
    <g:radio name="religion" value="hindu"/> Hindu<br/>
    <g:radio name="religion" value="christian"/> Christian<br/>
    <g:radio name="religion" value="buddhist"/> Buddhist
</div>

穆斯林
印度教的 基督教的
佛教徒
> p>您可能想考虑GRIUS中的标签,而不是手动编写单选按钮。

但是,如果决定继续手动编写单选按钮,则需要考虑选择当前值。例如:

<g:radio name="religion" value="muslim" checked="${radioButtonInstance?.religion.equals('muslim')}"/>


在上面的示例中,您将注意到<代码>检查< /COD>属性被设置为布尔值(这是正确的)。

您可能想考虑GRARES中的标记,而不是手动编写单选按钮。

但是,如果决定继续手动编写单选按钮,则需要考虑选择当前值。例如:

<g:radio name="religion" value="muslim" checked="${radioButtonInstance?.religion.equals('muslim')}"/>


在上面的示例中,您会注意到,
checked
属性被设置为一个布尔值(根据属性设置是正确的)。

我认为radioGroup对于您来说是一个更好的解决方案,因为您使用的是grails

他们的主要问题是,您没有将当前设置的
宗教
传递给GSP。没有任何信息可以告诉广播组用户已经设置了哪个宗教,而是用
checked=“checked”
硬编码

根据第一行设置div的类(如果bean有错误),我假设您可以从
radioButtonInstance
访问当前设置的宗教。使用
radioGroup
标记将当前设置的值传递为
${radioButtonInstance?.religation}
,然后设置所需的值和标签,如图所示:

<g:radioGroup name="religion"
              values="['Muslim', 'Hindu', 'Christian', 'Buddhist']"
              labels="['Muslim', 'Hindu', 'Christian', 'Buddhist']"
              value="${radioButtonInstance?.religion}">
    <p>${it.label}: ${it.radio}</p>
</g:radioGroup>

我认为radioGroup对于您来说是一个更好的解决方案,因为您正在使用grails

他们的主要问题是,您没有将当前设置的
宗教
传递给GSP。没有任何信息可以告诉广播组用户已经设置了哪个宗教,而是用
checked=“checked”
硬编码

根据第一行设置div的类(如果bean有错误),我假设您可以从
radioButtonInstance
访问当前设置的宗教。使用
radioGroup
标记将当前设置的值传递为
${radioButtonInstance?.religation}
,然后设置所需的值和标签,如图所示:

<g:radioGroup name="religion"
              values="['Muslim', 'Hindu', 'Christian', 'Buddhist']"
              labels="['Muslim', 'Hindu', 'Christian', 'Buddhist']"
              value="${radioButtonInstance?.religion}">
    <p>${it.label}: ${it.radio}</p>
</g:radioGroup>

再次感谢你帮助我。我现在想使用radioGroup,但唯一的问题是,当我想编辑一个宗教时,它选择的是默认宗教(no.1 radio),而不是我与特定宗教一起保存的值。是否有任何选项可以对radio group执行此操作-或者-如果我仅使用g:radio,则在我要创建新组时它不会选中默认值,但在编辑时它选中了保存的值。我希望你能理解。再次感谢你帮助我。我现在想使用radioGroup,但唯一的问题是,当我想编辑一个宗教时,它选择的是默认宗教(no.1 radio),而不是我与特定宗教一起保存的值。是否有任何选项可以对radio group执行此操作-或者-如果我仅使用g:radio,则在我要创建新组时它不会选中默认值,但在编辑时它选中了保存的值。我希望你能理解。