我将模型属性设置为产品对象列表。但是,当我尝试以下拉框形式访问列表时:
<td><form:select path="product" items="${productList}"/></td>
它显示有关对象本身的信息,而不是产品名称:
Product@4c23d7e2
如何让表单显示productList中每个元素的名称,比如?就像第一个元素一样
productList.get(0).getName()
答案 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>
我还没有测试过。我认为这些都可行。