如何确保JSF知道特定属性的类型是java.lang.String?

如何确保JSF知道特定属性的类型是java.lang.String?,java,jsf,tomcat6,facelets,Java,Jsf,Tomcat6,Facelets,不确定以下代码发生了什么情况: <h:dataTable value="{scheduler.quartzJobList}" var="q" styleClass="quartz-table" headerClass="quartz-table-header" rowClasses="quartz-table-odd-row,quartz-table-even-row"> <h:column> <f:facet name="

不确定以下代码发生了什么情况:

<h:dataTable value="{scheduler.quartzJobList}" var="q"
    styleClass="quartz-table" headerClass="quartz-table-header"
    rowClasses="quartz-table-odd-row,quartz-table-even-row">

    <h:column>
        <f:facet name="header">Job Name</f:facet>
        #{q.jobName}
    </h:column>
下面是我如何构造动作bean的:

@ManagedBean(name="scheduler")
@SessionScoped
public class SchedulerBean implements Serializable {

    private static final long serialVersionUID = 1L;

    private Scheduler scheduler;

    private List<QuartzJob> quartzJobList = new ArrayList<QuartzJob>();

    public static class QuartzJob {

       private String jobName;

       // getter and setter of jobName
    }
}
如果我删除{q.jobName},它就可以正常工作。以下是我的项目中使用的库:

el-impl-2.2.jar jsf-api-2.1.23.jar jsf-impl-2.1.23.jar jstl-1.2.jar jsf-api-2.0.1.jar jsf-impl-2.0.1.jar 你错过了

应该是,

 <h:dataTable value="#{scheduler.quartzJobList}" var="q"
确保你有一份工作清单

<h:dataTable value="{scheduler.quartzJobList}" var="q"
 <h:dataTable value="#{scheduler.quartzJobList}" var="q"