struts2 学习小记 (ognl访问属性,方法,集合对象,投影,选择,#,$,值栈)

--------ognl获得属性------------
1.添加一个Contact实体类

2在jsp页面获得相应信息:

3.在登录成功页面显示其Contact中的信息:ognl:对象.属性

--------ognl方法调用---------------------------------
-----普通类的普通方法调用-------
1.在普通类Contact中添加一个普通方法shouInfo

2.在登录成功页面调用该方法 ognl:对象.普通方法()

-----Action类的普通方法调用-------
1.比如调用Action中的add方法

2.由于Action保存在值栈中,故不用对象 ognl:普通方法()

-----静态方法调用-------
1.在Action中声明一个静态方法method1

2.在登录成功页面调用ognl:@完整类名@方法名()

3.在struts.xml中配置静态常量
<constant name="struts.ongl.allowStaticMethodAccess" value="true" ></constant>
-----静态属性调用-------
1.在类中定义一个静态属性sid=1500,注意私有字段无法访问


2.在登录成功页面调用ognl:@完整类名@属性名

-----构造方法调用-------
在登录成功页面调用ognl:new@完整类名()

-----系统Math方法调用-------
在登录成功页面调用ognl:@系统类库@方法()
数学类可简写为@@方法()


--------ognl获得集合对象---------------------------------------------------
1.定义三个集合对象及其get set方法,并在构造函数中初始化

2.List
获得对象 ongl:集合对象名
获得集合对象中的某个对象:集合对象名[下标]
获得集合对象中的某个属性集合:集合对象名。{属性名}
获得集合对象中的某个属性集合中的某个对象:集合对象名.{属性名}[下标]
获得集合对象的长度:集合对象名.size()
3.Set
获得对象 ongl:集合对象名
获得集合对象的长度:集合对象名.size()
4.map
获得对象 ongl:集合对象名
获得keys 集合对象名.keys
获得values 集合对象名.values
获得某个key的对象 集合对象名[key值],如果key值是字符串类型,则key加单引号
获得集合对象的长度:集合对象名.size()



------------------------投影和选择--------------------------------------------------------
对获得的集合对象获得某些属性或字段

1.添加一个实体类students,

2.在Action中添加学生集合及其get set方法,并初始化


3.在登录成功页面
获取所有学生资料:对象名
获取所有年龄大于30的学生资料:对象名.{?#this.age>30}
获取所有年龄大于30的学生姓名:对象名.{?#this.age>30}.{name}
获取年龄大于30的第一个学生的姓名:对象名.{?#this.age>30}.{name}[0]------------得到集合
或者:对象名.{^#this.age>30}.{name}-----------------得到对象
获取年龄大于30的最后一个学生的姓名:对象名.{$#this.age>30}.{name}[0]

------------------------#的使用--------------------------------------------------------


#parameters是用来获取url地址中的参数,后面四个是用来获取内置对象的。

1.当页面跳转方式为redirect时,登录信息将不会被保存显示

2.在jsp地址后面可以传递参数,比如msg=hello

3.通过#parameters可获取msg参数值

------------------------$的使用--------------------------------------------------------


在xml中使用ognl表达式,不推荐:


------------------------值栈技术--------------------------------------------------------




浙公网安备 33010602011771号