Struts2

值栈中放数据

2018-06-05  本文已影响0人  小漫画ing

向值栈放数据多种方式

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

<action name="valueStackDemo1" class="com.manman.xm.ValueStackDemoAction">
            <result name="success">/value.jsp</result>
        </action>

这样就配置好了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里面。

上一篇 下一篇

猜你喜欢

热点阅读