zoukankan      html  css  js  c++  java
  • struts2不能通过ONGL方式取出request中的Atrribute

    请看下面一个很简单的Action

    package com.ahgw.main.action;
    
    import org.springframework.stereotype.Controller;
    
    /**
     * Created with IntelliJ IDEA.
     * User: HYY
     * Date: 13-11-19
     * Time: 下午7:08
     * To change this template use File | Settings | File Templates.
     */
    @Controller
    public class Test2Action {
        private String hyy;
        
        public String execute() {
            System.out.println("hyy = " + hyy);
            return "success";
        }
    
        public String getHyy() {
            return hyy;
        }
    
        public void setHyy(String hyy) {
            this.hyy = hyy;
        }
    }

     一般来说,如果request有hyy这个parameter,那么可以获取该值。然后如果request中仅有key为hyy的Atrribute,那么这一段代码是获取不了该值的。

    请继续看:

    public class TestInterceptor extends AbstractInterceptor {
    
        @Override
        public String intercept(ActionInvocation actionInvocation) throws Exception {
            HttpServletRequest request = (HttpServletRequest) actionInvocation.getInvocationContext().get(ServletActionContext.HTTP_REQUEST);
            request.setAttribute("hyy", "heyiyong");
            System.out.println("经过测试拦截器");
            return actionInvocation.invoke();
        }
    }
            <interceptors>
                <interceptor name="testInterceptor" class="com.ahgw.admin.interceptor.TestInterceptor"></interceptor>
            </interceptors>
    <action name="test2Action" class="test2Action"> <interceptor-ref name="testInterceptor"></interceptor-ref> <result>/test.jsp</result> </action>

    了解清楚后,在浏览器输入/test2Action.do发现输出如下:

    经过测试拦截器
    hyy = null

    总结:在struts2的action中,通过OGNL方式不能获取atrribute而只能获取到parameter的值。

  • 相关阅读:
    FreeModbus TCP
    C#之用户自定义控件
    使用C库制作DLL
    C# Unable to load DLL 'WzCanDll.dll':找不到指定的模块
    C#之改变窗体icon图标、新建类文件、调用dll库
    sim800c GPRS模块的透传模式
    STM32上使用JSON
    STM32之串口IAP更新升级
    Fortran语言的REWIND和BACKSPACE 函数
    Code blocks 编译Fortran(转载)
  • 原文地址:https://www.cnblogs.com/wuyou/p/3432111.html
Copyright © 2011-2022 走看看