Grails 无法创建下拉菜单,而是创建了一个列表框

Grails 无法创建下拉菜单,而是创建了一个列表框,grails,sitemesh,Grails,Sitemesh,我很难为对象的数组列表创建下拉菜单。下面的示例显示了我想要做的事情。我能够用一组对象创建一个下拉列表。顶级示例的行为方式不同。对象的结构几乎相同 无工作示例 工作示例 我认为这是因为在value属性(即moduleInstance?.id)中也有from(即moduleInstance)中的数组。如果moduleInstance是一个数组,那么您是说我正在选择该数组中的所有内容,这将导致一个多选选择框,而不是下拉列表 尝试将value属性更改为value=“${moduleInstan

我很难为对象的数组列表创建下拉菜单。下面的示例显示了我想要做的事情。我能够用一组对象创建一个下拉列表。顶级示例的行为方式不同。对象的结构几乎相同

无工作示例

工作示例


我认为这是因为在value属性(即moduleInstance?.id)中也有from(即moduleInstance)中的数组。如果moduleInstance是一个数组,那么您是说我正在选择该数组中的所有内容,这将导致一个多选选择框,而不是下拉列表


尝试将value属性更改为value=“${moduleInstance[0]?.id}”,只是尝试一下,看看这是否会呈现一个单一的选择组合框。

如果我也添加了对象结构会更有帮助吗?是的,你本质上告诉标记库的是将其视为一个多选择组合框,它使用列表框而不是下拉列表。
<g:select name="module.id"
                      from="${moduleInstance}"
                      value="${moduleInstance?.id}"
                      optionKey="id"
                      optionValue="${{"${it.name}"}}"
                      noSelection="['':'Please select']"
                      required="" />
<g:select name="division.id"
                  from="${divisionInstance}"
                  value="${personInstance?.division?.id}"
                  optionKey="id"
                  optionValue="${{"${it}"}}"
                  noSelection="['':'Please select']"
                  required="" />