2012-03-21 6 views
0

私の要件についての簡単な紹介。JSFのcommandButtonの問題

空のJSF dataTableがあります。
ボタンをクリックすると、空のデータテーブルにデータが書き込まれます。

<h:commandButton value="Search" action="#{myBean.searchresults}" /> 

問題:
私はボタンをクリックすると、それはのdataTableにデータを移入しますが、すぐに私は自分のアプリケーションを初めてロードしたときに(ページをリフレッシュします)私に同じページを示しています。
ページをに更新しないでください。自体を更新して、データが表示されます。

私はこの問題でこの2日間立ち往生しています。
ご連絡をお願いします。

ありがとうございます!

おかげで、 リー

+2

<h:form> <h:inputText value="#{bean.query}" /> <h:commandButton value="Search" action="#{bean.search}"> <f:ajax execute="@form" render=":results" /> </h:commandButton> </h:form> <h:panelGroup id="results"> <h:dataTable value="#{bean.results}" rendered="#{not empty bean.results}"> ... </h:dataTable> </h:panelGroup> 

あなたは、いくつかの関連するコードを投稿することができますか?ありがとう! – Mechkov

+0

コードを表示してください!私の最善の策は、あなたの* @ ManagedBean *やAJAXの更新がうまくいかないことです。乾杯! – SimonSez

+0

コードスニペットを見つけてください: – Leinz

答えて

3

にAJAXをだからあなたは非同期に提出したいと部分的にレンダリング?そこには<f:ajax>タグがあります。 execute属性にサブミットコンテキストを指定し、render属性に更新するクライアントIDを指定できます。

など。

public void search() { 
    results = service.find(query); 
} 
+0

ありがとうございます。 :) – Leinz

1

あなたはsearchresultsによって返されたいくつかのナビゲーションロジックを持っていますか?そうでない場合

searchresults voidメソッド

public void searchresults(){ 
//logic here 
} 

を作成し、Fを追加:ボタン

<h:commandButton value="Search" action="#{myBean.searchresults}" > 
    <f:ajax execute="@form" render="@form"/> 
</h:commandButton> 
+0

お返事ありがとうございましたDanielありがとうございました。私の問題は解決しました。:) – Leinz

+0

よろしくお願い致します。 – Daniel

関連する問題