xu506075418 2010-03-21 08:43 采纳率: 0%
浏览 257
已采纳

请问一个Struts2的问题,我知道action的执行环境ActionContext里面的request和session等都是一个Map

而我在action中取得HttpServletRequest对象,然后设置name-value,然后在jsp页面中仍然可以通过ognl表达式#request.name从ActionContext中获取到value,我想问是不是ActionContext将HttpServletRequest里面的东西拷贝到ActionContext里面的request(Map)当中了,如果是的话,什么时候的事情呢,谢谢

  • 写回答

3条回答 默认 最新

  • 拽拽的初行者 2010-03-21 14:30
    关注

    [b]
    [quote]ActionContext将HttpServletRequest里面的东西拷贝到ActionContext里面的request(Map)当中了[/quote][/b]
    [color=blue][b]
    是这样的。[/b][/color]

    [quote][b]我在action中取得HttpServletRequest对象,然后设置name-value[/b][/quote]
    [color=blue]
    [b]这种情况下,copy发生了2次:

    1、从HttpServletRequet --> Action , 这样你的 HttpServletRequet中的参数,自动填充到 Action的属性。(前置处理)

    2、从Action --> Result Page渲染时, 由于你在Action获取了HttpServletRequet 对象,所以,又发生了一次 copy。(后置处理。直接获取HttpServletRequet等对象,是Struts2不推荐的!)[/b][/color]
    [b]
    这些处理是由拦截器提供的:[/b]

    [code="xml"] [/code]
    [b]
    PS: 最好不要直接使用HttpServletRequet等与Servlet规范相关的对象。[/b]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译