ongl三種符號的使用,ongl三種符號使用
1、#符號
- 訪問非根對象屬性,由於Struts2中值棧被視為根對象,所以訪問其他非根對象時,需要加#前綴。實際上,#相當於ActionContext.getContext();
- 用於過濾和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
- 用來構造Map,例如示例中的#{’foo1′:’bar1′,’foo2′:’bar2′}。
2、%符號
- %符號的用途是在標志的屬性為字符串類型時,計算OGNL表達式的值。如下面的代碼所示:構造Map
1 <s:set name=”foobar” value="#{'foo1':'bar1', 'foo2':'bar2'}" />
2 <p>
3 The value of key “foo1″ is
4 <s:property value="#foobar['foo1']" />
5 </p>
6 <p>
7 不使用%:
8 <s:url value="#foobar['foo1']" />
9 </p>
10 <p>
11 使用%:
12 <s:url value="%{#foobar['foo1']}" />
13 </p>
3、$符號(兩方面)
- 在國際化資源文件中,引用OGNL表達式
- 在Struts 2框架的配置文件中引用OGNL表達式