1.获取值栈对象,调用值栈里面的set方法。
2.获取值栈对象,调用值栈对象的push方法。
3.在action定义变量,生成变量的get方法。(常用)
可使用s:debug标签查看值栈存放的内容
一、调用值栈对象的set方法
Java代码
set方法使用map方式储存值,第一个元素为String类型的key,第二个元素为Object类型的value,value中可以存放任意对象。
值栈中的情况
可以发现值栈中多了map对象,当调用set方法时,会在list对象中添加一个map对象,里面存放set放入的值。
二、调用值栈对象的push方法
Java代码
push方法只接收一个Object类型的参数,可以存放任意类型的对象
push方式是自动将所存的数据转为对应的对象类型,然后放入值栈中
值栈中的情况
可以发现值栈中多了String对象,当调用push方法时,会在list对象中添加push方法添加的对象。如放入的是“hello”是String类型,就会放入String对象。
值栈属于栈结构,先进后出,所以放入的数据放在栈顶。
三、在action中生成变量,
Java代码
需生成变量的get方法
值栈中的情况
可以看出这种方式存值不会在值栈中创建新的对象,而是直接将值存进了值栈中原有的action对象中,这种方式的好处就是避免了值栈中存储空间的浪费,不用为每个值都分别设置存储空间。因此这种方式更加常用。