Java學(xué)習(xí)

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經(jīng)搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進(jìn)步

           

          Struts中Cannot find bean XXX in any scope的問題

          Struts中Cannot find bean XXX in any scope的問題

          這就是在前面的簡單應(yīng)用中,在view中,通過<bean:write name="myform" property="name">調(diào)用Actionform時(shí)出的問題,這個(gè)問題的直接原因很簡單就是:找不到"myform"這個(gè)Bean,用網(wǎng) 上的話說就是在Action里一般會request.setAttribute()一些對 象,然后在轉(zhuǎn)向的jsp文件里(用tag或request.getAttribute()方法)得到這些對象并顯示出來。這個(gè)異常是說jsp要得到一個(gè)對 象,但前面的Action里并沒有將對象設(shè)置到request(也可以是session、servletContext)里。可能是名字錯(cuò)了,請檢查 jsp里的tag的一般是name屬性,或getAttribute()方法的參數(shù)值;或者是Action邏輯有問題沒有執(zhí)行 setAttribute()方法就先轉(zhuǎn)向了。
          還有另外一個(gè)可能,純粹是jsp文件的問題,例如<logic:iterate>會指 定一個(gè)id值,然后在循環(huán)里<bean:write>使用這個(gè)值作為name的值,如果這兩個(gè)值不同,也會出現(xiàn)此異常。(都是一個(gè)道 理,request里沒有對應(yīng)的對象。)
          ”。
                我對Actionform的機(jī)制不理解,心中的疑問:
                1) 如果ActionForm是Struts自動封裝到Request中,那么我可以直接在view.jsp中,能過<bean:write>調(diào) 用這個(gè)ActionForm,如果假設(shè)這種情況成立時(shí),那么Beanwrite中的bean名應(yīng)該是ActionForm的類名,還是在Struts- config.xml里給ActionForm定義的類名?
                2)如果沒有封裝的話,那么是不是需要在Action中把Actionform通過request.setAttribute("","")放到request中
          還是要放到Session中,
                我測試時(shí)候出的問題
                 有一次就是在1)的情況下測試成功的,但是以后再怎么試都不行,那次是引用的Struts-config.xml里給ActionForm定義的類名。非常奇怪,
                  還有就是2)的情況,測試中如果Action和Frombean在一個(gè)包下面,那么通過request.setAttribute("",""),就可以獲取到Bean,如果不是的話,有時(shí)候行,有時(shí)候不行,
                  如果通過request.getSession.setAttribute()設(shè)置ActionForm的話,每次都可以,他們的Scope肯定在一個(gè)Request中,那么為什么Session就可以,而Request不行。(結(jié)論:因?yàn)槭窃贏ctionfoward中設(shè)置了“redirect='true',這樣的話一跳轉(zhuǎn)時(shí),Request中的內(nèi)容都會被重置,所以不行,把這一句去掉就可以了”)

          posted on 2009-07-22 09:04 找個(gè)美女做老婆 閱讀(1666) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湾仔区| 当阳市| 乌拉特后旗| 张家港市| 方城县| 苏尼特左旗| 手机| 桐乡市| 年辖:市辖区| 陆河县| 香港| 本溪市| 西峡县| 文昌市| 万州区| 和静县| 景泰县| 内丘县| 丽江市| 香格里拉县| 永登县| 醴陵市| 咸丰县| 闽清县| 昔阳县| 错那县| 临沭县| 响水县| 敖汉旗| 绥江县| 彰武县| 玛曲县| 池州市| 永德县| 南开区| 德江县| 潞城市| 靖安县| 汝阳县| 云南省| 安西县|