动态下拉列表无法在GSP中运行

时间:2015-09-02 07:29:06

标签: java jsp grails drop-down-menu gsp

在我的视图页面中,我的HTML正在关注 -

<select id="sereousness" >
<option value="0" ${(subscribed.sereousness == '0')?'selected':''}>Casual${subscribed.sereousness}</option>
<option value="1" ${(subscribed.sereousness == '1')?'selected':''}>Sereous${subscribed.sereousness}</option>
<option value="2"  ${(subscribed.sereousness == '2')?'selected':''}>VerySereous${subscribed.sereousness}</option>
</select>

但是,每当偶数${subscribed.sereousness}的值不同时,这会显示第一个选项吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

构建SELECT的最佳方法是使用Grail的g:select标记。

首先,创建一个List作为可用选项。最好在您的控制器中执行此操作,并通过模型将其传递给您的GSP。您的列表可以包含键/值对,如下所示:

def options = [
    [id: 0, desc: 'Casual'], 
    [id: 1, desc: 'Serious'],
    [id: 2, desc: 'Very Serious']
]

接下来,在您的GSP中,您可以使用以下内容:

<g:select 
    name="sereousness" 
    from="${options}"
    value="${subscribed.sereousness}"
    optionKey="id"
    optionValue="desc"
    noSelection="['':'-Choose your seriousness-']"/>

<g:select>代码会生成一个包含options项目的选项列表。所选项目将是subscribed.sereousness中标识的项目。选择项目并提交表单后,sereousness的值将包含所选选项的值(ID)。