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的值。
struts2不能通过ONGL方式取出request中的Atrribute的更多相关文章
- struts2 2.5.16 通配符方式调用action中的方法报404
		
1.问题描述 在struts.xml中配置用通配符方式调用action中的add()方法,访问 http://localhost:8080/Struts2Demo/helloworld_add.act ...
 - struts2:数据校验,通过Action中的validate()方法实现校验,图解
		
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...
 - jplayer中动态添加列表曲目(js提取request中的list数据作为js参数使用)
		
jplayer 的播放列表使用如下: $(document).ready(function(){ new jPlayerPlaylist({ jPlayer: "#jquery_jplaye ...
 - Request中Attribute 和 Parameter 的区别
		
Attribute 和 Parameter 的区别 (1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法 (2)当两个Web组件之间为 ...
 - request中获取post的json对象数据content-type=“text/plain”
		
其实采用http://www.cnblogs.com/SimonHu1993/p/7295750.html中的方法一都能获取到,就是通过获取request中的流数据,拿到json数据,理论上应该适用各 ...
 - request中的那些方法到底是干什么的?
		
最近做Java Web项目,在.jsp页面和servlet之间request和response还是有些混淆,查阅了一些资料,总结如下,方便以后使用: 首先,servlet接口是最基本的,提供的五个方法 ...
 - 取出session中的所有属性与值的方法
		
如果你想取出session中所有的属性和值,可以通过getAttributeNames()方法来实现,具体代码如下 //获取session HttpSession session = request. ...
 - Request中的各种方法
		
前言 Request中方法众多,对于Java Web程序员来说,种种方法都会在工作中常常用到.Request由于不是JDK的一部分,这些方法的用法也没有专门的API可以查,所以在工作中遇到Reques ...
 - struts2 servlet api 访问方式
		
Action中访问ServletAPI. 主要就是接收表单参数及向域对象中存取值. 关于SevletAPI的方法在Action中有三种方式: 1.完全解耦合的形式: * 使用一个类:ActionCon ...
 
随机推荐
- \n 与 \r  在记事本中的内容表现方式 原创
			
总结:[0D,0A]的顺序才可以记事本才可以正常显示回车换行,其他EDITPLUS ,等编缉工具在下面三种情况下都可以换行 原始数据与表现形式 [0D,0A]序列才可以正常显示回车换行 --- ...
 - xmemcached user guide --存档
			
XMemcached Introduction XMemcached is a new java memcached client. Maybe you don't know "memcac ...
 - 如何获取Android系统中申请对象的信息
			
最近一直在做有关内存方面的优化工作,在做优化的过程,除了关注内存的申请量以及GC的情况之外,我们经常需要想方法找出是那些对象占用了大量内存,以及他们是如何导致GC的,这意味着我们需要获取对象申请的信息 ...
 - 安卓Intent(显式)
			
1.Intent是Android程序中各组件之间交互的重要方式,一般可用于启动活动.启动服务.以及发送广播等场景,这里先对活动进行说明Intent的一些作用. 2.Intent的用法大致可分为,显式I ...
 - TCP/IP 协议理解
			
TCP/IP 协议(Transmission Control Protocol / internet Protocol),因特网互联协议,又名网络通讯协议.通俗而言:TCP负责发现传输的问题,一有问题 ...
 - 解决谷歌网站Your connection is not private问题
			
google 网站打不开,总是提示 Your connection is not private 等信息,针对chrome可以通过以下方式解决: 打开链接chrome://flags. 找到quic相 ...
 - iOS Core Animation学习总结(1)--CALayer常用属性
			
图层是core animation的基础, UIView之所以能显示在屏幕上,靠的是其内部的这个图层,即每个UIView 都有 CALayer,可通过UIView.layer或者[UIView lay ...
 - CSS3—CSS3和现代Web设计
			
1.1 现代Web设计理念 1.1.1 可访问性第一 同样一段内容, 可以用成千上万的方法为其设计样式, 但全世界的用户应该依然可以访问它们, 不管他们用什么方式去访问Web——无论手机.键盘控制器还 ...
 - [Machine Learning] 梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD
			
一.回归函数及目标函数 以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式. 二.优化方式(Gradient Descent) 1.最速梯度下降法 也叫批量梯度下降法Batch Gr ...
 - 上传图片预览 支持IE8+,FF,Chrome ,保留原图片比例
			
代码及效果:链接