【strut2笔记】OGNL

来源:互联网 发布:淘宝店铺的介绍怎么写 编辑:程序博客网 时间:2024/05/21 17:08

OGNL 



对象创建注意事项

 

1.在使用对象接受传递过来的参数,只有当我们传递了参数的时候,strut才会构造Ognl表达式来new一个对象

  当然,我们自己在写 初始化对象 的时候,自己new一个对象,也会构造相应的值,在debug中可以看得到。

  也就是当我们在action方法 中没有new对象的时候,只有我们通过strut向对象传值,strut才会帮我们new一个。

  

 

2.在写model 的时候,永远记得要自己写一个参数为空的构造方法,因为strut调用的时候需要找到这个方法。

  否则报错。strut帮我们new对象的时候,必须要有空参数的构造方法,不然strut不知道new哪个。

 

OGNL解释

Object Graph Navigation Language  -- OGNL

对象 图形 导航 语言

 

意义感觉:使用对象 点 什么 什么来访问内容。  

 

OGNL用法

 

3.可以直接在jsp  />调用 值栈中对象的属性、方法、对象中对象的属性。

4.可以在jsp中 访问当前action的普通方法、静态方法、属性。

5.可以访问 math类静态方法。(@@math(,))

6.可以访问 所以类中的静态方法、属性,构造方法。(前面@类名,后面@方法名、属性名)

(构造方法:直接可以new一个对象,并传值)

不过有一点要注意,访问静态方法要在strut配置中加上:(允许访问静态方法)

【strut2笔记】OGNL

 【strut2笔记】OGNL


7.访问集合

【strut2笔记】OGNL 

A) 访问集合,直接集合名

B) 访问集合中元素

C) 访问集合中所有元素的某属性集合

D) 访问集合中所有元素的某属性的第几个

 

8.访问set 

访问的方法和集合访问是一样的。

因为Set没有顺序,所以访问set的时候不能去下标值去取,取不到。可以使用对象访问的方式

有三种访问元素方式:

【strut2笔记】OGNL setkey名        

【strut2笔记】OGNL set[key      

【strut2笔记】OGNL set[\key\  转义字符\

 

9.访问map

   访问元素

   访问所有的keys

   访问value

 

10.访问map容器大小

 

 

11.访问投影(过滤器)

【strut2笔记】OGNL 

Users是一个list  ,后面大括号中的是条件  。条件写法三种: ?#  ^#  $#  加上条件

点后面的条件 是要取出的 前面对象的条件 。后面的{age}是指的是age集的集合。

 

?#表示所有的  ^# 表示开头第一个  $#表示结尾的那个    ==null 判断有没有元素)

 

12.用中括号去访问里面的元素  

 【strut2笔记】OGNL

【strut2笔记】OGNL

结果:

【strut2笔记】OGNL 

【strut2笔记】OGNL 

[0] 表示的是从0开始的所有的集合。 如果要访问某个内容要这样:[0].username  结果: 【strut2笔记】OGNL

 

Ps:

什么时候会有两个action 

【strut2笔记】OGNL 

当使用服务器端跳转chainresult

在值栈中会压入两个action test actionognl action 

【strut2笔记】OGNL【strut2笔记】OGNL 

 

 

 

原创粉丝点击