TOP>>概略>>WALRUSとは何か <概略>ツアーOBAQ構成定義アプリケーションサーバリファレンスサイトマップ

テンプレート展開


テンプレート展開

WALRUSの一番のセールスポイントは、通常のHTMLファイルをテンプレートとして使用できることです。

例1

(A) + (B) から (C) を生成します。

htmlファイル(A)                                    
---------------------------------------------------
<ul>                                               
  <li id=lang_list> </li>                          
</ul>                                              
---------------------------------------------------

rubyソース(B)                                      
---------------------------------------------------
def lang_list                                      
  [ "ruby", "java", "perl" ]                       
end                                                
---------------------------------------------------

結果(C)                                            
---------------------------------------------------
<ul>                                               
  <li>ruby</li>                                    
  <li>java</li>                                    
  <li>perl</li>                                    
</ul>                                              
---------------------------------------------------

例2

(A) + (B) から (C) を生成します。

htmlファイル(A)                                    
---------------------------------------------------
<table>                                            
  <tr id=app_server>                               
     <td id=name></td>                             
     <td id=lang></td>                             
  </tr>                                            
</table>                                           
---------------------------------------------------

rubyソース(B)                                      
---------------------------------------------------
def app_server                                     
  [                                                
     { :name => "walrus",  :lang => "ruby" },      
     { :name => "enhydra", :lang => "java" },      
     { :name => "zope",    :lang => "python" }     
  ]                                                
end                                                
---------------------------------------------------

結果(C)                                            
---------------------------------------------------
<table>                                            
 <tr><td>walrus</td><td>ruby</td></tr>             
 <tr><td>enhydra</td><td>java</td></tr>            
 <tr><td>zope</td><td>python</td></tr>             
</table>                                           
---------------------------------------------------

つまり、rubyのプログラムではデータの見ためを意識せずに「何を出力するか」 だけを考えて中身だけを作ります。その中身をどのように見せるのかは、htmlファ イルそのもので指定できます。

htmlファイルは、id属性を活用しているだけで文法的には普通のhtmlファイルで すから、htmlエディターなども使用できるし、デザイナーやユーザが画面をデザ インとしてプログラマーと分業して作業を進めることができます。


ページトップへ