浏览 2151 次
锁定老帖子 主题:struts2 ognl
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-01
Struts2 OGNL
在JSP中,session、request、application、attr(如果可以就从pageContext查找,否则就依次到 request、session、application中查找)、parameters(用于取URL上的参数,同名的变量可以使用索引)等对象取值时要使用前缀 # 告诉Struts2不要到值栈中查找,例 (1.)#session.infomation,#session[‘student- information’],OGNL中使用 . 或者[‘’]访问对象的属性,两者的区别是当属性中有“-”等特殊字符时,我们需要使用[‘’]; (2.)URL为http://locaohost:9999/struts01/HelloWorld.ok?name=gold& &password=jsmart,如果我想取name的值,需要这样写#parameters.name,取password的值就是 #parameters.password;如果是http://localhost:9999/struts01/HelloWorld.ok? password=gold&&password=jsmart,#parameters.password[0]取的就是gold, #parameters.password[1]=jsmart; (3.)%{A}所有基于这种形式的内容,除<s:property value="test"/>其他标签引用要加个. property里面,直接写名字就可以了.会被解析并到值栈中求值,也就是会到Value Stack中查找A所代表的值;如果你想A被当作字符串原样传递,那么可以这样表示%{‘A’},当然你直接使用A有的时候也是可以的,但为了通用性,建议使用%{‘A’},以免产生不必要的麻烦。 (4.)OGNL操作集合,例如值栈中存在map,我们可以这样访问map[‘a’],表示访问Map中key值为a的value值是多少,map.size访问大小等等。 (5.)OGNL访问类中的静态变量和静态方法:@完整类名@属性名,@完整类名@方法名,例如: Package net.ilkj.ognl Public Class A{ Public static final String a=”1”; Public static String findA(){Return “2”;} } 我们就可以在页面上使用<:sproperty value=”@net.ilkj.ognl.A@a”/>尽心输出! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |