SpringMVC下拉框显示对象信息而不是值

时间:2016-11-05 14:39:40

标签: java spring

我将模型属性设置为产品对象列表。但是,当我尝试以下拉框形式访问列表时:

       <td><form:select path="product" items="${productList}"/></td>

它显示有关对象本身的信息,而不是产品名称:

Product@4c23d7e2

如何让表单显示productList中每个元素的名称,比如?就像第一个元素一样

productList.get(0).getName()

2 个答案:

答案 0 :(得分:0)

一种方法是覆盖Product中的toString()方法,如下所示:

@Override
public String toString(){
    return getName();
}

另一种方法是传递List<String>个产品名称,而不是List<Product>

答案 1 :(得分:0)

尝试以下

<form:select path="product">
    <form:options items="${productList}" />
</form:select>

<form:select path="product">
   <c:forEach var="product" items="${productList}">
      <form:option value="${product.name}">${product.name}</form:options>
   </c:forEach>
</form:select>

我还没有测试过。我认为这些都可行。