Struts2值栈

ognl概述

在这里插入图片描述
在这里插入图片描述

使用struts2标签

(1)jsp中使用jstl时,导入jar包,在jsp页面中引入标签库,同样使用struts2标签时,在jsp中引入标签库
ognl的jar包:ognl.jar
(2)使用struts标签实现操作
在这里插入图片描述

什么是值栈?

在这里插入图片描述

获取值栈对象

在这里插入图片描述

值栈内部结构

在这里插入图片描述
在这里插入图片描述
Context内部结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

向值栈中放数据

(1)获取值栈对象,调用对象里面的set方法
在这里插入图片描述
(2)获取值栈对象,调用对象里面的push方法
在这里插入图片描述
(3)在action中定义变量,生成变量的get方法(最常用:数据直接存放在action中,节省内存空间)
在这里插入图片描述
在这里插入图片描述
向值栈中放对象
(1)定义对象变量
(2)生成对象变量的get方法
(3)给对象变量设置值
在这里插入图片描述
向值栈中放list集合
(1)定义list集合变量
(2)生成list变量的get方法
(3)将数据存入list变量中
在这里插入图片描述

从值栈中取数据

*使用struts2标签+ognl表达式获取值栈数据<s:property value="gonl表达式">*

从值栈中取出字符串
(1)向值栈中存放字符串(前边有)
(2)使用标签获取(value的值就是前边定义的变量的名称)
在这里插入图片描述
从值栈中取对象
(1)向值栈中存放对象(前边有)
(2)使用标签获取
在这里插入图片描述
从值栈中取list集合
(1)第一种(值固定,比较复杂):
在这里插入图片描述
(2)第二种(常用方式):
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191016173845308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NoaVphb2xpbg==,size_16,color_FFFFFF,t_70
(3)第三种(常用方式):
在这里插入图片描述
其他操作方式
(1)获取set方法设置的值(set设置值得方式上边有)
在这里插入图片描述
(2)获取push方法设置的值(push设置值得方式上边有)
使用push方法设置值,没有名称,只有设置的值。向值栈中放数据,会把值栈数据存放到数组里面,数组名称是top,可以根据数组名称获取值

下面方法得到的是栈顶的值,也就是数组的第一个值
在这里插入图片描述
EL表达式获取值栈数据(为什么可以呢?)
使用EL表达式首先要导入jar包:jstl.jar和standard.jar,然后在jsp页面上面引入jar包,<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
在这里插入图片描述

在这里插入图片描述

ognl中#和%的使用

#的使用(主要用在<s:iterator>标签中
#是获取context中的数据**
案例 :向request域放值,在页面中使用ognl获取
在这里插入图片描述
在这里插入图片描述
%的使用(性能比较低,一般不用)
(1)在struts2标签中的表单标签中使用ognl表达式
在struts2标签里面使用ognl表达式,如果直接在struts2表单里面直接使用ognl表达式不识别,只有%后才会识别。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值