gpt4 book ai didi

java - JSF 2.0 h :selectManyListbox f:selectItems - always empty

转载 作者:行者123 更新时间:2023-11-29 04:01:48 25 4
gpt4 key购买 nike

我有一个使用 selectManyListbox 和内部 selectItems 的 JSF 创建表单(它应该包含可用于项目的所有标签)。尽管 selectItems 列表始终为空 - 当页面呈现时,列表框中没有任何内容。尽管如此,支持 bean 中的列表仍包含 3 个条目(已检查)。我做错了什么?

支持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/

我写的转换器还有待测试。

最佳答案

你的 EL 是假的。您应该在所有地方使用 #{} 符号。替换

<f:selectItems value="@{createProjectBean.tags}"
var="tag"
itemValue="#{tag}"
itemLabel="${tag.name}" />

通过

<f:selectItems value="#{createProjectBean.tags}"
var="tag"
itemValue="#{tag}"
itemLabel="#{tag.name}" />

关于java - JSF 2.0 h :selectManyListbox f:selectItems - always empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com