Struts中Cannot find bean XXX in any scope的问题
来源:互联网 发布:中国网络空间协会 编辑:程序博客网 时间:2024/05/16 06:33
这就是在前面的简单应用中,在view中,通过<bean:write name="myform" property="name">调用Actionform时出的问题,这个问题的直接原因很简单就是:找不到"myform"这个Bean,用网上的话说就是“在Action里一般会request.setAttribute()一些对象,然后在转向的jsp文件里(用tag或request.getAttribute()方法)得到这些对象并显示出来。这个异常是说jsp要得到一个对象,但前面的Action里并没有将对象设置到request(也可以是session、servletContext)里。可能是名字错了,请检查jsp里的tag的一般是name属性,或getAttribute()方法的参数值;或者是Action逻辑有问题没有执行setAttribute()方法就先转向了。
还有另外一个可能,纯粹是jsp文件的问题,例如<logic:iterate>会指定一个id值,然后在循环里<bean:write>使用这个值作为name的值,如果这两个值不同,也会出现此异常。(都是一个道理,request里没有对应的对象。)”。
我对Actionform的机制不理解,心中的疑问:
1)如果ActionForm是Struts自动封装到Request中,那么我可以直接在view.jsp中,能过<bean:write>调用这个ActionForm,如果假设这种情况成立时,那么Beanwrite中的bean名应该是ActionForm的类名,还是在Struts-config.xml里给ActionForm定义的类名?
2)如果没有封装的话,那么是不是需要在Action中把Actionform通过request.setAttribute("","")放到request中
还是要放到Session中,
我测试时候出的问题
有一次就是在1)的情况下测试成功的,但是以后再怎么试都不行,那次是引用的Struts-config.xml里给ActionForm定义的类名。非常奇怪,还有就是2)的情况,测试中如果Action和Frombean在一个包下面,那么通过request.setAttribute("",""),就可以获取到Bean,如果不是的话,有时候行,有时候不行,如果通过request.getSession.setAttribute()设置ActionForm的话,每次都可以,他们的Scope肯定在一个Request中,那么为什么Session就可以,而Request不行。(结论:因为是在Actionfoward中设置了“redirect='true',这样的话一跳转时,Request中的内容都会被重置,所以不行,把这一句去掉就可以了”)
- Struts中Cannot find bean XXX in any scope的问题
- Struts中Cannot find bean XXX in any scope的问题
- Struts中Cannot find bean XXX in any scope问题之一解
- Struts常见异常“Cannot find bean XXX in any scope”
- 关于Struts 中报Cannot find bean: "XXX" in any scope 的错误备注(转于飞梦者的博客)
- struts的异常: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
- Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope 问题
- Cannot find bean in any scope
- Cannot find bean: "serivceList" in any scope
- Cannot find bean: "test" in any scope
- Cannot find bean userinfo in any scope
- Cannot find bean in any scope
- Cannot find bean: "EmpNumber" in any scope
- 出现Cannot find bean name in any scope的解决办法
- Cannot find bean org.apache.struts.taglib.html.BEAN in any scope异常解决方案
- Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
- Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope
- Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
- java 实现生成随机大整数
- CTI领域标准API的第一选择——TAPI 3.0
- 达芬奇DM644X平台(ARM9, Linux-2.6.10)BSP之clock.c浅析
- ASP.NET Web开发实用代码(二)
- 达芬奇DM644X平台(ARM9, Linux-2.6.10)BSP之board-evm.c浅析
- Struts中Cannot find bean XXX in any scope的问题
- linux-2.6.26.5内核移植到达芬奇平台DM644X(ARM9)
- MSSQL
- lr参数化连接SQL server数据库
- [转]MFC与HTML交互示例
- 控制输入表单数据的长度
- Hibernate 中formula标签和query标签的使用
- 紀念 2008.12.25
- oracle导出创建用户下各个对象数据结构的sql语句的脚本,包括表、视图、索引、约束等等