5
を持っていません。クラスは、私のエンティティでプロパティ
@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は、ゲッター/セッターが間違っている(代わりに、それは間違ったELのプロパティ名です)、実際に正しい答え/技術的説明とのリンクを指摘するため+1です。 – BalusC
彼は彼の財産を「プライベートint tld」と定義しているので、私は彼がこれに対応する何かを望むなら、彼は私の答えに定義されているゲッターとセッターを使うべきだと思った?もちろん、ELのプロパティ名を変更することもできます。または私は何かを逃していますか? – bjedrzejewski
ELプロパティはプライベートBeanのプロパティに対応していません。彼らは公共の豆のゲッター/セッターに対応しています。 Javabeansの仕様では、あなたの回答で提案されているgetter/setter構文は無効です(私はまだテストしていませんが、特定のEL impls/versionsやBeanイントロスペクションAPIで 'PropertyNotFoundException'を引き起こしても驚かないでしょう)。 OPの元のgetter/setter構文は有効でしたが、ELのプロパティ名はgetter/setterの構文に基づいて間違っています。 – BalusC