0

私はJSFを初めて使用し、学習を開始し、ストラットに取り組んできました。JSF2.0 でナビゲーションがどのように機能するかを理解したかっただけです。JSF2.0 では、ナビゲーション ルールを .NET で実行できることを理解してい faces-config.xmlます。しかし、それが実際の世界でどのように機能するかを理解したいと思います。

検索条件を入力する画面があり、次の画面で検索結果が表示されるとします。結果セットを処理する<h:commandButton value="Show Results" action="#{simpleController.doNavigation}"/>場所と、doNavigation() がデータベースにクエリを実行して結果をフェッチするジョブを次の画面で実行するにはどうすればよいですか? . SESSION で値を保持する必要がありますか

4

1 に答える 1

0

データを現在の Bean インスタンスのプロパティとして割り当てるだけです。

public String doNavigation() {
    results = searchService.find(query);
    return "nextpage";
}

デフォルトでは、ナビゲーションは新しいリクエストを起動せず、ターゲット ページを現在のレスポンスに設定するだけです。ターゲットページでは、そのまま使用できます#{simpleController.results}


具体的な問題とは関係ありませんが、これはお粗末な方法です (SEO と UX に悪い)。むしろ、まったく同じページに結果を表示し、ポストバックでナビゲーションを実行しないでください。

以下も参照してください。

于 2013-06-11T12:06:44.207 に答える