值栈中放数据

向值栈放数据多种方式

1、第一种,获取值栈对象,调用值栈对象里面的set方法
2、第二种,调用值栈对象里面的push方法
3、第三种,在action定义变量,生成变量的get方法(常用方法)

  • 下面我们来一一用代码实现:
    实现第一种方式:
    我们还是用debug来看,那么第一步就是配置xml,这里的配置与上节课的一模一样,其实就是在上节课的基础上写的

            /value.jsp
        

这样就配置好了xml,接下来就是使用值栈里面的set方式:

public String execute() throws Exception {
        //第一种方式使用值栈对象里面的set方式
        //1获取值栈对象
        ActionContext context = ActionContext.getContext();
        ValueStack stack = context.getValueStack();
        //2调用方法set方法
        stack.set("username", "manman");
        return "success";
    }

来看运行结果:


image.png

明显比之前多了一个元素,说明放进去了值。、
实现第二种方式:
代码如下:

//1获取值栈对象
        ActionContext context = ActionContext.getContext();
        ValueStack stack = context.getValueStack();
        //2调用方法set方法
        stack.set("username", "manman");
        //3调用方法push方法
        stack.push("abcd");

运行结果如下:


image.png

明显在第一种的基础之上,又多了一个元素,因为我们栈的特点是先进后出,所以get方法的元素应该在上面,set在下。
实现第三种方式:

//1定义变量
    private String name;
    //2生成变量的get方法
    public String getName() {
        return name;
    }
    @Override
    public String execute() throws Exception {
        //在执行的方法里面向变量设置值
        name="abcd";
return "success";
image.png

这个可以节省空间浪费,不需要重新给一个新的空间,值就直接在action里面。

你可能感兴趣的:(值栈中放数据)