私はrich:dataTableを使用してユーザーの詳細のリストを表示しているJSF 1.2で作業しています。各行のユーザー情報は、commandLinkを介して編集できます。コマンド リンクをクリックすると、ユーザーの現在の値が表示されたモーダル パネルがポップアップ表示されます。モーダル パネルの編集ボタンをクリックして、必要な変更を加え、データをデータベースに保存できます。
私が直面している問題は、データテーブルの 2 行目の編集コマンド リンクをクリックすると、ポップアップ パネルに 1 行目のユーザー情報が表示されることです。
コマンド リンクを使用して、バッキング Bean でアクション メソッドを呼び出し、選択したユーザー情報を次のようにキャプチャすることで、現在選択されているユーザー行の値を設定しています。
<a4j:commandLink value = "Edit" onclick="#{rich:component('UserPopUp')}.show()"
action="#{ocrUserBean.captureCurrentUser()}"/>
public void captureCurrentUser(){
FacesContext context = FacesContext.getCurrentInstance();
currentUser = (User) context.getExternalContext().getRequestMap().get("ocrUser");
}
私のモーダル パネルには、入力テキストに currentUser.getFirstName が表示されています。