【Java】OGNL(Object Graph Navigation Language)


Java

OGNL

OGNL とは、Object Graph Navigation Language の略である。

オブジェクトの参照はシャープ記号(#)でマークされる。

OGNLに関する情報が少なすぎて、Struts2で作成するうえで大変困る。
ognl.orgはなくなっているし。

OGNL – Apache Commons OGNL – Object Graph Navigation Library
http://commons.apache.org/proper/commons-ognl/

【Action プロパティの参照】

 <s:property value="hoge"></s:property> 

ActionContext 内のその他 の(ルートでない) オブジェクトは、# 表記を使ってレンダリングすることができる。

 <s:property value="#session.hoge"></s:property>
 <s:property value="#session['hoge']"></s:property>
 <s:property value="#request['hoge']"></s:property>

【コレクション (Maps、 Lists、 Sets)】

リストの構文は、 {e1,e2,e3}である。
この表現により要素として文字列の”name1″、 “name2” 、”name3″が含まれるリストが生成される。
またデフォルトで”name2″が選択されている。

 <s:select label="label" name="name" list="{'name1','name2','name3'}" value="%{'name2'}"></s:select> 

マップの構文は、#{key1:value1,key2:value2}である。
この表現により要素として文字”foo” には文字 “foovalue”が、”bar” には文字 “barvalue”が設定される。

<s:select label="label" name="name" list="#{'foo':'foovalue', 'bar':'barvalue'}"></s:select>

カスタムタグおよびOGNLの中にカスタムタグは動作しないので注意。

【参考サイト】

OGNL – ソフトウェア技術ドキュメントを勝手に翻訳
http://www.techdoctranslator.com/struts2/tag-developers-guide/ognl

Struts2のカスタムタグ内で用いるOGNL式?について – Java Solution会議室
http://ap.atmarkit.co.jp/bbs/core/fjava/32623

How do we get access to the session
http://struts.apache.org/release/2.2.x/docs/how-do-we-get-access-to-the-session.html


あなたの「いいね」が欲しいです。
「【Java】OGNL(Object Graph Navigation Language)」をシェアする
 
 このエントリーをはてなブックマークに追加  LINE  
 はてなブックマークやLINEでシェアされると、よろこびます。 
 

One Response to 【Java】OGNL(Object Graph Navigation Language)

  1. Arison より:

    OGNL(Object Graph Navigation Language)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください