<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Atea - Hero's Grave

    面向對象,開源,框架,敏捷,云計算,NoSQL,商業智能,編程思想。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      40 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks
    struts2 Action里面的getter方法會在Action結束后被自動調用,例如有此情況:
    <package extends="struts-default">
    <action name="MyAction">
    <action name="AnotherAction" method="getSomething">
    ...
    在Action中
        public String execute(){
            System.out.println(
    "execute");
           
    return SUCCESS;
        }
        
    public String getA() {
            System.out.println(
    "getA");
            
    return SUCCESS;
        }
        
    public String geta() {
            System.out.println(
    "geta");
            
    return SUCCESS;
        }
        
    public String getaa() {
            System.out.println(
    "getaa");
            
    return SUCCESS;
        }
        
    public String getaA() {
            System.out.println(
    "getaA");
            
    return SUCCESS;
        }
        
    public String getB() {
            System.out.println(
    "getB");
            
    return SUCCESS;
        }
        
    public String gotA() {
            System.out.println(
    "gotA");
            
    return SUCCESS;
        }
    當調用MyAction的時候,輸出結果為:
    execute
    geta
    getaA
    getaa
    getB

    也就是說,即使你沒有調用AnotherAction,getSomething仍然會執行。

    ---------------------------------------------------------------------------

    090520更新

    這個問題確實很惱人,這兩天又被此事折騰的崩潰。
    再次提醒,在struts2的Action中慎起get打頭的函數!

    出錯的整個過程是這樣的(錯的花了..):
    在測試程序的過程中,發現后臺Hibernate不時的發生讀取臟數據的情況。
    為此專門編寫了測試文件進行測試,并沒有發現讀取臟數據的現象。眾所周知Session不是線程安全的,可系統是用ThreadLocal來管理Session的,按說不應該出現這個問題。
    我也曾懷疑過是sf緩存出的錯,可去掉緩存后還是有問題。

    在打開了Session創建和銷毀的Log后,發現程序在Action返回后,又創建了新的Session(沒有關閉)。
    注:系統在Action層對Service層做了IOC,在Service層對DAO層做了IOC。
    結果就是,Action結束時調用了getXXXService函數,而又神奇的調到了當前Service所有get打頭的函數。

    最后的解決辦法是,此處的IOC并不需要getter,把getter刪除就行了。
    posted on 2009-02-16 20:09 Atea 閱讀(388) 評論(0)  編輯  收藏 所屬分類: Struts

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


    網站導航:
     
    主站蜘蛛池模板: 日本牲交大片免费观看| 亚洲无砖砖区免费| 中文字幕亚洲专区| 国产成人无码免费看片软件| 亚洲毛片网址在线观看中文字幕| 永久免费观看黄网站| 亚洲欧洲日产国码高潮αv| 一级做a爰全过程免费视频毛片| 亚洲精品国产高清嫩草影院| www成人免费视频| 亚洲色精品vr一区二区三区| 日本视频免费高清一本18| 久久亚洲精品成人无码网站| 久久久久久久91精品免费观看 | 亚洲区小说区图片区QVOD| 成人电影在线免费观看| 久久久久亚洲AV无码专区体验| 日韩午夜理论免费TV影院| 激情综合亚洲色婷婷五月| 在线观看免费毛片| 丁香六月婷婷精品免费观看| 亚洲国产精品无码av| 国产大片91精品免费观看不卡| 亚洲国产午夜精品理论片在线播放 | 曰韩无码AV片免费播放不卡| 亚洲综合精品香蕉久久网| 6080午夜一级毛片免费看| 亚洲成人免费在线观看| 日本无吗免费一二区| 你是我的城池营垒免费观看完整版| 久久精品亚洲一区二区三区浴池 | 中文字幕在线成人免费看| 亚洲高清无在码在线无弹窗| 欧洲美熟女乱又伦免费视频| 国产99久久久国产精免费| 亚洲精品国产专区91在线| 四虎永久成人免费影院域名| 久久久久久AV无码免费网站| 亚洲精品无码永久在线观看男男| 国产亚洲AV手机在线观看| 日本阿v免费费视频完整版|