| ||||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||||
| Railsのビューヘルパー | ||||||||||||||||
JSPのカスタムタグと同等の機能をもつのがRailsのヘルパーという機能です。JSFのカスタムタグが複雑であったのに対してRailsのヘルパーは非常に簡単です。ビューに入り込んでしまったロジックをヘルパーにメソッドとして記述し、ビューではそのメソッドを呼び出すことで、ビューからロジックを分離できます。 ヘルパーの作成方法については、コントローラごとにヘルパーモジュールを作成することができます。ここでも命名規則がきまっており、例えば、LoginControllerというコントローラのヘルパーを作成する場合、LoginHelperという名前になります。 このコントローラに定義されたメソッドは何の設定もなしに、ビュー内にてタグ形式で使用することができます。 ヘルパーメソッド def display_name(name)ヘルパーメソッドの使用例 ようこそ <%= display_name (@name) %>さん | ||||||||||||||||
| ビューヘルパーの比較結果 | ||||||||||||||||
記述量、シンプルさではRailsに分があることがわかりましたが、JSFの場合、タグライブラリとしてアプリケーションから切り離し、他でも使用するという狙いがあります。既にカスタムタグをまとめたカスタムタグライブラリが数多くリリースされていますので、これらを活用することである程度、カスタムタグ作成の手間を省けることでしょう。 | ||||||||||||||||
| バリデーションの比較 | ||||||||||||||||
最後に、入力値の正当性を確認するために用いられるバリデーション機能について比較します。記述量にはほとんど違いがありませんが、JSFとRailsではバリデーションの考え方が異なります。 | ||||||||||||||||
| JSFのバリデーション | ||||||||||||||||
JSFのバリデーションは、JSFが提供するカスタムタグを使ってJSPに記述します。次に示すのは「f:validateLength」タグを使って、入力された文字列長が4文字以上32文字以下であることを確認しています。 JSFバリデーション <h:inputText id="user_name" value="#{userBean.name}"> | ||||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||

