SpringMVC form:options items属性:究竟期望什么?
我还是SpringMVC的新手(和jstl一样)。我正在尝试从对象列表中填充选择中的选项。我已经找到了一种使用c:forEach的方法,但是我一直在想有一种方法可以使form:options方法起作用。
我已经浏览了一下,在这里我可以找到与Items属性的官方文档最接近的地方>>
http://static.springsource.org/spring/docs/2.0.x/reference/spring-form.tld
.html#spring-
form.tld.options
它说items属性是
“用于生成内部’option’标签的对象的Collection,Map或数组”
我的困惑是正在寻找什么样的集合,地图或对象数组。他们需要采用什么格式?它是专门寻找String类型的Collection还是数组?我可以用吗
List<MyObject>
如果是这样,那么MyObject必须具有什么才能使其有效(即方法,变量)?
目前,当我尝试使用MyObject时,出现了一个异常提示-
ConverterNotFoundException:未找到能够从com.example.MyObject类型转换为java.lang.String类型的转换器
我需要做一个转换器吗?那会去哪里?那将如何工作?我已经搜索了该错误消息,但还没有真正找到我要执行的操作…(大多数是有关Roo的结果)
MyObject类如下所示:
public class MyObject{ private String company;
private Customer customer;
private Address customerAddress;
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public Address getCustomerAddress() {
return customerAddress;
}
public void setCustomerAddress(Address customerAddress) {
this.customerAddress = customerAddress;
}
}
并且我正在尝试像这样使用它:
<form:select path="myObjectList"> <form:option value="0"/>
<form:options items="myObjectList" />
</form:select>
有人知道这种方法有什么错误吗?或者,我应该使用
List<String>
完成我在做什么?
这里的堆栈跟踪>> http://pastebin.com/2c5XBCmG
回答:
在Spring文档说这有关items
的属性form:options
标签:
items属性通常填充有item对象的集合或数组。如果已指定,则itemValue和itemLabel只是引用那些item对象的bean属性;否则,item对象本身将被字符串化。或者,您可以指定项目映射,在这种情况下,映射键将解释为选项值,并且映射值对应于选项标签。如果恰好同时指定了itemValue和/或itemLabel,则item
value属性将应用于地图键,item label属性将应用于地图值。
简而言之,如果您需要使用Custom Beans列表作为items属性,则还需要使用itemValue
and
itemLabel
属性。就我个人而言,我更喜欢使用LinkedHashMap
Maps-具体来说是实例- 来填充我的选择标签,但这只是一个问题。
改编来自Spring文档的示例,您的代码应如下所示:
<form:select path="commandAttribute"> <form:option value="-" label="--Please Select"/>
<form:options items="${countryList}" itemValue="company" itemLabel="company"/>
</form:select>
我使用的company
属性,既itemValue
和itemLabel
,但你可以自由地选择适合您的需求的属性。
以上是 SpringMVC form:options items属性:究竟期望什么? 的全部内容, 来源链接: utcz.com/qa/433751.html