1
我有一個JSF創建表單,它使用帶selectItems的selectManyListbox(它應該包含所有可用於項目的標記)。儘管selectItems列表始終爲空 - 當頁面呈現時,Listbox中沒有任何內容。儘管如此,後臺bean中的列表包含3個條目(選中該條目)。我究竟做錯了什麼?JSF 2.0 h:selectManyListbox f:selectItems - 始終爲空
的支持bean:
@ManagedBean(name = "createProjectBean")
@RequestScoped
public class CreateProjectBean {
public Project getProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}
private Project project;
private IProjectService projectService;
private FacesContext facesContext;
private MessageFactory mf;
private List<Tag> tags;
public CreateProjectBean() {
project = new Project();
projectService = (IProjectService)ServiceFinder.getInstance()
.findBean("projectService");
mf = new MessageFactory("properties.projects.messages");
tags = projectService.getTags();
}
/* should be the source of tags */
public void setTags(List<Tag> tags) {
this.tags = tags;
}
public List<Tag> getTags() {
return tags;
}
}
和頁面:
<f:view>
<h:outputText id="error" rendered="false" />
<h:message styleClass="errorMessage" for="error" />
<h:form id="creationForm" >
<h:panelGrid columns="2" width="420">
/* blah, blah, set name and stuff */
<h:selectManyListbox id="box" value = "#{createProjectBean.project.tags}">
<f:converter converterId="tag" />
<f:selectItems value="@{createProjectBean.tags}"
var="tag"
itemValue="#{tag}"
itemLabel="${tag.name}" />
</h:selectManyListbox>
<f:verbatim><br/></f:verbatim>
<h:commandButton value="Create" styleClass="formButton" action="#{createProjectBean.create}"/>
</h:panelGrid>
</h:form>
</f:view>
我試圖去做每類比到這個網頁: http://digitaljoel.wordpress.com/2010/01/11/jsf-2-custom-converter/
我寫的轉換器還有待測試。
哈更換
。確實是假的。實際上,「@ {..}」是什麼? (1) – Bozho 2010-06-08 05:47:35