私が持っている質問の簡潔なバージョンは次のとおりです。
<h:inputText>
に表示する同じ値を取得する
<h:outputText>
inputText フィールドの範囲外にあります。
inputtext フィールドには、次の xpath があります。
//*[@id="form:j_idt40:src_table:0:j_idt137"]
出力テキストは次の場所にあります。
//*[@id="form:j_idt40:target_table:0:target_id"]
私はprimefacesデータテーブルを使用しており、2つのパスは2つの別々のデータテーブルにあります
入力フィールドの jsf コードは次のとおりです。
<p:dataTable id="src_table">
<p:column id="src_id" headerText="srcHeader">
<h:inputText value="#{bean.myAttribute}">
<f:ajax event="blur" render="src_id WHAT_SHOULD_GO_HERE?" ></f:ajax>
</h:inputText>
</p:column>
</p:datatable>
出力のコードは次のとおりです。
<p:dataTable id="target_table">
<p:column headerText="TargetHeader">
<h:outputText id="target_id" value="#{bean.myAttribute}" />
</p:column>
</p:datatable>
私は WHAT_SHOULD_GO_HERE でいくつかのパスを試しましたか? プレースホルダーですが、正しく理解できないようです。それらはすべて、次のような面の例外をスローすることになりました。
javax.faces.FacesException: <f:ajax> contains an unknown id ':target_id' - cannot locate it in the context of the component j_idt137
もちろん、これは WHAT_SHOULD_GO_HERE を置き換えたときでしたか? :target_id 付き
私も試しました:
form:j_idt40:target_table:0:target_id,
:form:j_idt40:target_table:0:target_id
しかし運がない。
xpath や f:ajax の理解とビューの特定の部分のレンダリングを手伝ってくれる人はいますか?