我在我的支持bean中有一個模型對象集合,我想用f:selectItems標籤在h:selectOneMenu
中顯示它們。我讀過很多教程,建議使用SelectItem對象集合而不是我的模型POJO。但是,我不想這樣做,因爲它會將模型與面部表示相關聯。有什麼辦法可以做到這一點?我不斷收到一個Servlet例外 - "incompatible with javax.faces.model.SelectItem."
我已經發布了下面的幾個示例代碼段:JSF/Spring如何在沒有SelectItem對象的情況下使用h:selectOneMenu
的Java:
@Component(value = "headerBean")
@Scope(value = "session")
class HeaderBean{
private Collection<ValueObject> myCollectionOfValueObjects = new ArrayList<ValueObject>();
// ...
// getter, setters, whatnot...
// ...
}
JSP:
<h:selectOneMenu id="selectMenu" value="#{headerBean.myValueObject}">
<f:selectItems value="#{headerBean.myCollectionOfValueObjects}"/>
</h:selectOneMenu>