隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          異常形式:

          Class org.apache.struts2.json.JSONWriter can not access a member of * 或是 Class com.googlecode.jsonplugin.JSONWriter can not access a member of class*

          第一種是struct2.1.8json結合時的異常,第二種是struct2.1.6json結合的異常。

           

          具體:

          Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver.BaseResultSet with modifiers "public"

           

          解釋:

          不能把程序中的某種數據結構串行化成json格式。

           

          原因:

          struts2action里面的數據轉換成json數據時,會將提供了get方法的屬性都串行化輸出JSON到客戶端。有的時候,很多屬性并不能串行化成json數據,比如這里的oracle.jdbc.driver.BaseResultSet。這時還進行強行轉換就會出現這樣的異常。

           

          解決方法:

          在不能串行化到json的屬性相應的get方法前加一條json標記 @JSON(serialize=false)。告訴json不需要轉化這個屬性。或者根本不寫這個get方法。

           

          后記:

          對于不需要在前臺輸出的json數據,也可以用同樣的方法進行處理,從而減少服務器和客戶端間交互的信息量。

          可在需要在前臺輸出的屬性的get方法前加上@JSON(name="status")標識,從而為該屬性起了一個別名,在前臺就可以通過status作為屬性名來讀取其值。



          posted on 2011-08-02 17:01 Ke 閱讀(991) 評論(0)  編輯  收藏 所屬分類: struts 2
          主站蜘蛛池模板: 新宾| 宁远县| 康平县| 肥城市| 碌曲县| 巫溪县| 沿河| 罗源县| 思茅市| 嘉峪关市| 岳阳县| 镇原县| 呼图壁县| 尤溪县| 宁化县| 启东市| 德庆县| 定南县| 金溪县| 凌海市| 乌苏市| 北流市| 济宁市| 浦东新区| 且末县| 黄梅县| 吉林省| 哈密市| 宜阳县| 玛沁县| 凤台县| 德钦县| 兴和县| 桃江县| 安泽县| 兴化市| 新野县| 白玉县| 泾源县| 安塞县| 固原市|