我的网站之struts2笔记4

这一篇总结是我自学第三天的视频知识,其中包括ognl的基础知识还有值栈的基础知识以及值栈的存取数据。

一:ognl概述

1、在struts2里面操作值栈数据

2、一般把ognl在struts2操作:和struts2标签一起使用操作值栈

3、ognl不是struts2的一部分,单独的项目,经常和struts2一起使用


我的网站之struts2笔记4_第1张图片

二:ognl入门案例:和struts2标签实现计算字符串长度

1、使用ognl时候,首先导入jar包,struts2提供jar包


2、在jsp中引入struts2标签库


3、使用struts2标签

我的网站之struts2笔记4_第2张图片

三、什么是值栈

1、之前在web阶段,在servlet里面进行操作,是把数据放到域对象里面,在页面中使用el表达式获取到,域对象在一定范围内,存值和取值。

2、在struts2里面本身提供一种存储机制,类似于域对象,是值栈,可以存值和取值。在action里面把数据放到值栈里面,在页面中获取值栈数据。

3、servlet和action区别:

  • servlet:默认在第一次访问时候创建,创建一次(单实例对象)
  • action:访问的时候创建,每次访问action时候,都会创建一个action对象,创建多次(多实例对象)

4、值栈存储位置:

  • 每次访问action的时候,都会创建action对象。
  • 在每个action对象里面,都会有一个值栈对象(只有一个)。


    我的网站之struts2笔记4_第3张图片

四、如何获取值栈对象

使用ActionContext类里面的方法得到值栈对象(常用方法

我的网站之struts2笔记4_第4张图片

五、栈的结构,后进先出

我的网站之struts2笔记4_第5张图片

六、值栈内部结构:值栈主要分为2部分

我的网站之struts2笔记4_第6张图片

1、第一部分:root,结构为list集合。


我的网站之struts2笔记4_第7张图片

2、第二部分:context,结构为map集合。


我的网站之struts2笔记4_第8张图片

七、值栈存数据

方式一、存字符串数据,只需要获取到值栈对象后,调用set方法或者push方法即可。

1、struts.xml配置

2、action配置
我的网站之struts2笔记4_第9张图片

方式二、存对象数据,以user为例,存放一条用户数据

我的网站之struts2笔记4_第10张图片

我的网站之struts2笔记4_第11张图片

方式三、存list对象数据

我的网站之struts2笔记4_第12张图片

我的网站之struts2笔记4_第13张图片

八、值栈取数据

方式一、取字符串数据

我的网站之struts2笔记4_第14张图片

方式二、取对象数据

我的网站之struts2笔记4_第15张图片

方式三、取list集合数据,有3种方式

1、通过数字编号代表指定对象

我的网站之struts2笔记4_第16张图片

2、通过iterator对象取list中数据

我的网站之struts2笔记4_第17张图片

3、通过iterator获取user对象,然后写ognl表达式获取数据
我的网站之struts2笔记4_第18张图片

ok,struts2的基本知识点笔记也算总结完了,利用这些知识点足够用于写业务逻辑了,我的网站也是仅仅用到这些。接下来开始总结spring知识点笔记。

你可能感兴趣的:(我的网站之struts2笔记4)