ちょっと便利なOGNL式
JSPを書くときに OGNL式が便利だと思った例。
JSTL+EL式の場合
Struts2 Taglib+OGNL式の場合
OGNLでは#{...} 式を使うことによってその場で Mapオブジェクトを生成出来るので、上記のように定数に対応するラベルを表示したい(しかも内容的にマスタを持って管理するほどでもない)場合に記述が短くできる。
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オブジェクトを生成出来るので、上記のように定数に対応するラベルを表示したい(しかも内容的にマスタを持って管理するほどでもない)場合に記述が短くできる。
ラベル: Struts2

1 件のコメント:
実はJSP2.1と表記がバッティングするという罠。(2.1に遅延評価?ってのが導入されたらしい。${}と#{})
そんときは
#java.util.LinkHashMap{}
とかすると一応回避できる。
ognl側で変更するかもしれないけど。
コメントを投稿
<< ホーム