カスタムUIコンポーネントでビューのリファクタリング
WebWork2のカスタムUIコンポーネントは、重複するビューのコードに対して、リファクタリング的に使えるような気がします。
ステータス <% if(item.getCode() == 0) { %> <img src="ok.png"> <% } else if(item.getCode() == 1) { %> <img src="error.png"> <% } %>
「ある値に対応する画像を表示」する部分をリファクタリングして、
カスタムUIコンポーネント化すると・・・
呼び出す側はこんな感じ。
ステータス <ww:component template="status.vm" value="item"/>
status.vmはこんな感じです。
#set( $item = ${tag.actualValue} ) #if( $item.code == 0 ) <img src="ok.png"> #elseif( $item.code == 1 ) <img src="error.png"> #end
カスタムタグより簡単に作れるところが便利です。