Spring:在JSP下拉列表中访问模型属性列表

时间:2014-12-10 06:43:16

标签: java spring jsp spring-mvc

从我的控制器,我发送一个对象列表到我的jsp视图。我正在使用spring form:选择标签使下拉列表有效,但它在内存中显示奇怪的对象引用。我怎样才能让它只显示我传入的对象的名称属性。

    <form:form commandName="game">
       <form:select path="name" items="${listOfGames}"></form:select>
    </form:form>

这段代码给了我一个游戏对象的下拉列表,但我希望下拉列表显示名称属性

3 个答案:

答案 0 :(得分:4)

如果你只使用上面的items属性,spring会尝试&#34; stringify&#34;你的列表/数组元素,即在每个元素中调用toString(),并且因为你没有覆盖它,所以在Object中定义了一个元素。例外情况是,只要您传递Map<String, String>,其中键用于value属性和显示值。

您必须正确使用form:options标记来明确声明哪个属性用于键,哪个属性用于显示

<form:select path="game">
    <form:options items="${listOfGames}" itemValue="id" itemLabel="name"/>
</form:select>

假设您要绑定id属性

答案 1 :(得分:1)

我的猜测是问题是因为你没有使用选项标签。

<form:form commandName="game">
   <form:select path="name"> 
       <form:options items="${listOfGames}" />
   </form:select>
</form:form>

答案 2 :(得分:0)

尝试这个::::

<form:form method="post" commandName="game">
<form:select path="name">
<form:option label="Setect A Game"/>
<form:options items="${listOfGames}"/>
</form:select> 
</form:form>