0

エラー target unreachable.my xhtml ファイルと Java ファイルが以下に表示されます。

<h: inputText id = "iqamaType"
value = "#{manageEmployee.empIqama.aqamaType}"
styleClass = "input"
required = "true"
requiredMessage = "#{msg['iqamatype_msg']}"
style = "font-weight:bold" />

マネージドBeanで

public Tbl_aqama getEmpIqama() {
    return empIqama;
}

public void setEmpIqama(Tbl_aqama empIqama) {
    this.empIqama = empIqama;
}
4

2 に答える 2

0

JSF/EL はネストされたプロパティを設定/作成しません。この構造を考えると、

value="#{manageEmployee.empIqama.aqamaType}"

ELが基本的にカバーの下で行うことは次のとおりです。

manageEmployee.getEmpIqama().setAqamaType(input.getValue());

setEmpIqama()ほら、それはどこにもありません。自分で用意する必要があります。あなたの具体的な問題は、それがgetEmpIqama()返さnullれてsetAqamaType()呼び出しが不可能になることです。エラーメッセージもそれを正確に伝えています。

それを準備する最も賢明な場所は、ビューに関連付けられたリクエスト/ビュー スコープ Bean の (ポスト) コンストラクターです。この場合は、#{manageEmployee}Bean の背後にあるクラスです。

@PostConstruct
public void init() {
    empIqama = new Tbl_aqama();
}

このコンストラクトではセッターはまったく不要であることに注意してください。JSF/EL で使用されたことはありません。安心して取り外せます。

于 2013-07-24T14:13:24.737 に答える
0

以下を確認してください。 1) Bean manageEmployee が適切に宣言されている。注釈 (@ManagedBean) または faces-config.xml を使用します。2) オブジェクト empIqama が null でないことを確認します。

これで解決しない場合は、コード スニペットを共有してください。

于 2013-07-24T10:57:07.153 に答える