TOPシステム開発> Railsのビュー
徹底比較!!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のビュー/アクション連係