ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ボタンによる画面遷移

通常のJSFでは、ボタンによる画面遷移をしたいときには、faces-config.xmlにnavigation-ruleを記述する必要がありますが、Teeda.Extensionでは何も記述する必要はありません。アノテーションでさえ。
あるHTMLから同じサブアプリケーション(ディレクトリ)のHTMLに遷移するときには、HTMLの拡張子を取り、最初を大文字に変えて、ボタンタグのidにgoをつけて指定します。
例えば、/view/add/addInput.htmlから/view/add/addResult.htmlに遷移する場合は、次のように記述します。


<input type="submit" id="goAddResult" .../>
別のサブアプリケーションのHTMLに遷移するときは、サブアプリケーション名$HTML名とします。
例えば、/view/add/addInput.htmlから/view/aaa/bbb.htmlに遷移する場合は、次のように記述します。

<input type="submit" id="goAaa$Bbb" .../>
これだけの記述で、サブミットされた情報は、次のページに反映された上で、自動的に画面遷移します。Javaのロジックも何も記述する必要はないのです。
あるページから次のページに情報を引き継ぎたい場合には、プロパティの名前を合わせておけば、自動的に情報は引き継がれます。
例えば、AddInputPage.javaにarg1とarg2というプロパティがあった場合に、AddResultPage.javaにarg1とarg2のプロパティを用意しておけば、addInput.htmlで入力された内容は、自動的にaddResult.htmlに引き継がれます。