该课程没有财产

时间:2013-08-05 15:30:12

标签: jsf properties javabeans el

在我的实体中:

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private int tId;
....
public int getTId() {
      return this.tId;
}

public void setTId(int tId) {
      this.tId = tId;
}

我的JSF页面中的代码:

<ui:repeat value="#{techCat.techsOfCat}" var="post">
    <h:outputText value="#{post.getTId()}"/>
        ...
</ui:repeat>

结果很好。但如果我编码:

<ui:repeat value="#{techCat.techsOfCat}" var="post">
    <h:outputText value="#{post.tId}"/>
    ...
</ui:repeat>

我遇到了一个错误:

value="#{post.tId}": The class 'model.Technology' does not have the property 'tId'.

我真的不明白那个错误。你能跟我解释一下吗?感谢

1 个答案:

答案 0 :(得分:14)

错误表示无法为您的媒体资源找到正确的getter和setter。 getter和setter的正确语法应为:

public int gettId() {
    return tId;
}

public void settId(int tId) {
    this.tId = tId;
}

如果您不确定 - 请始终为您的getter和setter使用代码生成。

如果您对specific convention感兴趣,那么您的getter和setter将与TId而非tId相关。