用户操作
[即时聊天] [发私信] [加为好友]
babydavic(王汉祥)ID:babydavic
115646次访问,排名788,好友9人,关注者10人。
java
babydavic的文章
原创 74 篇
翻译 1 篇
转载 38 篇
评论 57 篇
babydavic(王汉祥)的公告
大家互相讨教问题:请找我.QQ群:13861235 .....
最近评论
redcoatjk:你也很搞笑
crtl+v 2次....
搜索:又是一模一样的~!
platform:应该去看俺的.net版本的http send方法。哈哈
基本上已经是天下无敌了
xubin_xubin:写的不错
killingangle:不错啊,我转走了哦~谢谢啊~!~!
文章分类
收藏
    相册
    美丽图片
    dojo
    dojo官方网站
    DWR
    DWR collection converter 使用摘要
    DWR util 介绍
    ejb3
    ejb3的中文简介网站(RSS)
    javascript
    javascriptkit
    javascript画图形
    seo问题
    Web2.0(外国)
    判断系统是否安装了alexa
    动态javascript(外国)
    图片相册-javascript(RSS)
    图片集旋转显示
    Jmeter
    Jmeter_让它教会你使用jmeter
    jmeter下载
    jprofile
    Jprofile使用说明
    Junit单元测试
    junit测试
    MQ
    MQ
    webServer
    resin的另一个网址
    WebWork
    webwork中实现扩展用例方案1
    webwork基本用法
    正则表达式
    正则表达式
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 WebWork介绍-ActionContext(Action上下文)收藏

    新一篇: WebWork教程- Interceptor(拦截器) | 旧一篇: WebWork介绍-Action篇

    WebWorkActionContext(Action上下文)
    Web应用程序开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息, 甚至需要直接对JavaServlet Http的请求(HttpServletRequest)、响应(HttpServletResponse)操作。
    我们需要在Action中取得request请求参数“username”的值:
    ActionContext context = ActionContext.getContext();
    Map params = context.getParameters();
    String username = (String) params.get(“username”);
    ActionContextcom.opensymphony.xwork.ActionContext)是Action执行时的上下文,上下文可以看作是一个容器(其实我们这里的容器就是一个Map而已),它存放放的是Action在执行时需要用到的对象
     
    一般情况,我们的ActionContext都是通过:ActionContext context = (ActionContext) actionContext.get();来获取的。我们再来看看这里的actionContext对象的创建:static ThreadLocal actionContext = new ActionContextThreadLocal();ActionContextThreadLocal是实现ThreadLocal的一个内部类。ThreadLocal可以命名为“线程局部变量”,它为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。这样,我们ActionContext里的属性只会在对应的当前请求线程中可见,从而保证它是线程安全的。
     
     
    下面我们看看怎么通过ActionContext取得我们的HttpSession
    Map session = ActionContext.getContext().getSession()
     
    ServletActionContextcom.opensymphony.webwork. ServletActionContext),这个类直接继承了我们上面介绍的ActionContext,它提供了直接与JavaServlet相关对象访问的功能,它可以取得的对象有:
    1、   javax.servlet.http.HttpServletRequestHTTPservlet请求对象
    2、   javax.servlet.http.HttpServletResponse;HTTPservlet相应对象
    3、   javax.servlet.ServletContextServlet 上下文信息
    4、   javax.servlet.ServletConfigServlet配置对象
    5、   javax.servlet.jsp.PageContextHttp页面上下文
     
     
    下面我们看看几个简单的例子,让我们了解如何从ServletActionContext里取得JavaServlet的相关对象:
    1、   取得HttpServletRequest对象:
    HttpServletRequest request = ServletActionContext. getRequest();
    2、   取得HttpSession对象:
    HttpSession session = ServletActionContext. getRequest().getSession();
     
    ServletActionContextActionContext有着一些重复的功能,在我们的Action中,该如何去抉择呢?我们遵循的原则是:如果ActionContext能够实现我们的功能,那最好就不要使用ServletActionContext,让我们的Action尽量不要直接去访问JavaServlet的相关对象。在使用ActionContext时有一点要注意:不要在Action的构造函数里使用ActionContext.getContext(),因为这个时候ActionContext里的一些值也许没有设置,这时通过ActionContext取得的值也许是null

    发表于 @ 2006年06月04日 22:31:00|评论(loading...)|编辑

    新一篇: WebWork教程- Interceptor(拦截器) | 旧一篇: WebWork介绍-Action篇

    评论

    #路人 发表于2006-06-27 21:34:00  IP: 218.71.234.*
    我是初学者,看起来蛮有用的。谢谢了!
    #babydavic 发表于2006-06-28 13:55:00  IP: 218.19.148.*
    谢谢你的反馈
    #killingangle 发表于2007-10-31 16:29:12  IP: 222.137.45.*
    不错啊,我转走了哦~谢谢啊~!~!
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © babydavic(王汉祥)