美文网首页Struts2
值栈中放数据

值栈中放数据

作者: 小漫画ing | 来源:发表于2018-06-05 11:56 被阅读0次

    向值栈放数据多种方式

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

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

    相关文章

      网友评论

        本文标题:值栈中放数据

        本文链接:https://www.haomeiwen.com/subject/ktausftx.html