文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于request增加属性无效的问题

关于request增加属性无效的问题

时间:2007-08-11  来源:Chen@Heng

      今天上午遇见一个看似很奇怪的问题,我用Struts框架开发一个小项目,在一个Action中,用request.setAttribute("example","example"),然后return mapping.findFarword("example"),在Struts-config.xml中做好映射,但到所需页面后,${example},怎么也得不到它的值,<c:if test="${example}"/>,值始终为null。但在别的Action,这样是可以的。这就排出了是tomcat的问题,仔细对比了两个Action,除了业务处理不同,别的都没有区别,这又排出了是程序本身的问题。想到Request的作用域,一次请求结束后,就消失。如果在所需页得不到我们想得到的值,而我们又确定request是可以正常传递值的,那么就只有一种可能,就是我们在到达所需页面时,我们的Request请求已经结束了。想到此,在去检查Struts-config.xml文件,终于发现的问题的所在。
       在讨论这个问题之前,我想对Redirect属性做点介绍。页面间的相互转发,如果Redirect设置为true,那么它就会从当前页面彻底的转入另一个页面,也就是说它会释放当前页面的所有请求域对象,这就是为什么我到达所需页面后,得不到我所需要的值,在Struts-config.xml中去掉Redirect属性,就可以了。注意,Redirect默认的属性为false,所以我们平常里转发没有问题。不过这个原理了解一下也无坏处,至少不会在此事上浪费时间了。
      嗨,这么个问题,又去了我大半天时间。还好,雨过天晴了!
相关阅读 更多 +
排行榜 更多 +
宝宝情商养成宝宝巴士

宝宝情商养成宝宝巴士

休闲益智 下载
燥热手机版

燥热手机版

飞行射击 下载
巨人狙击手安卓版

巨人狙击手安卓版

飞行射击 下载