第2回:JSFとRailsで比較(前編) (3/4)

徹底比較!!Ruby on Rails vs Javaフレームワーク
徹底比較!!Ruby on Rails vs Javaフレームワーク

第2回:JSFとRailsで比較(前編)

著者:DTS  五座 淳一   2006/9/6
前のページ  1  2  3   4  次のページ
Railsのビュー

   Railsのビューには、ERbというテンプレートエンジンが提供されています。ERbを使うことによって、HTMLの一部に<% %>と<%= %>というタグを使って、Rubyスクリプトを埋め込むことができます。
ERbの例
<%= start_form_tag :action => 'add' %>
   <%= text_field_tag :number1, @number1 %>+
   <%= text_field_tag :number2, @number2 %>
   <%= submit_tag 'Add' %>
<%= end_form_tag %>

   通常のHTMLタグのかわりに使用するヘルパーメソッドがRailsより提供されています。


ビューの比較結果

   ビュー自体に、記述量や仕組みなどに関しては、ほとんど差がないといって良いでしょう。しかし、この後で比較するビューの周辺要素では大きく違いがあります。


ビュー/アクション連係の比較

   ここでは、ビューとアクションの間で値の受け渡しを行う方法について比較します。


JSFのビュー/アクション連係

   JSFでは、バリューバインディングという仕組みをつかって、ビューとアクション間で値の受け渡しを行います。

   バリューバインディングを行うには、マネージドビーンと呼ばれる「faces-config.xml」に管理されたJavaBeansを作成し、JSPにタグとマネージドビーンとの関連を記述します。これによって、ビューの入出力値をマネージドビーンを使って参照・設定することができるようになります。

   このマネージドビーンに反映された値をアクションなどで使用したり、逆にアクションの処理結果をマネージドビーンの値として設定することで、JSPタグの値を変更したりすることができます。

JSPに記述されたマネージドビーンの関連付け
<h:inputText id="number1" value="#{calcBean.number1}" />

マネージドビーン
public class CalcBean implements Serializable {
   private int number1;
   private int number2;
   private int answer;

   public int getAnswer() {
      return answer;
   }
   public void setAnswer(int answer) {
      this.answer = answer;
   }
   public int getNumber1() {
      return number1;
   }
   public void setNumber1(int number1) {
      this.number1 = number1;
   }
(中略)
}

前のページ  1  2  3   4  次のページ


株式会社DTS  五座 淳一氏
著者プロフィール
株式会社DTS  五座 淳一
技術部所属。入社以来、交換機や携帯電話、Webシステムなど様々な開発を担当する。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。


INDEX
第2回:JSFとRailsで比較(前編)
  はじめに
  ルーティング
Railsのビュー
  Railsのビュー/アクション連係
徹底比較!!Ruby on Rails vs Javaフレームワーク
第1回 O/Rマッピング
第2回 JSFとRailsで比較(前編)
第3回 JSFとRailsで比較(後編)
第4回 DIコンテナとの比較
第5回 テストフレームワーク
第6回 RailsとGrailsの比較(前編)
第7回 RailsとGrailsの比較(後編)
Ruby on Rails入門
第1回 Railsが注目されている理由
第2回 すぐできるアプリケーション作成
第3回 アーキテクチャと検索機能の追加
第4回 Railsでテストをしてみよう
第5回 Ajaxアプリケーションの作成
第6回 プラグインでさらに生産性アップ
第7回 Linux環境で動作させよう

人気記事トップ10

人気記事ランキングをもっと見る