2007-06-10

ちょっと便利なOGNL式

JSPを書くときに OGNL式が便利だと思った例。

JSTL+EL式の場合

性別:
<c:if test="${sex==1}">男性</c:if>
<c:if test="${sex==2}">女性</c:if>
<c:if test="${sex==3}">その他</c:if>

Struts2 Taglib+OGNL式の場合

性別:
<s:property value="#{1:'男性',2:'女性',3:'その他'}[sex]"/>


OGNLでは#{...} 式を使うことによってその場で Mapオブジェクトを生成出来るので、上記のように定数に対応するラベルを表示したい(しかも内容的にマスタを持って管理するほどでもない)場合に記述が短くできる。

ラベル:

1 件のコメント:

Blogger Yasushi さんは書きました...

実はJSP2.1と表記がバッティングするという罠。(2.1に遅延評価?ってのが導入されたらしい。${}と#{})

そんときは
#java.util.LinkHashMap{}
とかすると一応回避できる。
ognl側で変更するかもしれないけど。

2007/06/10 11:13  

コメントを投稿

<< ホーム