Struts2+AJAX+JSON
プロジェクトではajaxを使用してデータにアクセスする必要がありますが、開発中に次の異常が発生しました.
Struts 2.xmlは次のように構成されています.
問題の原因を見つけるのに長い時間がかかりました.
jsonオブジェクトの内容はActionの属性名:属性値形式であるが、属性はgetメソッドに基づいて位置決めされているため、Actionにインタフェースタイプの属性が存在し、対応する属性のgetメソッドが存在する場合、このような異常が報告される.
解決方法:Actionでインタフェースタイプ属性のgetメソッドを削除する.
com.googlecode.jsonplugin.JSONExeption:
java.lang.IllegalAccessException: Class com.googlecode.jsonplugin.JSONWriter can not access a member of class org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper with modifiers "public"
Struts 2.xmlは次のように構成されています.
<package name="example" extends="json-default">
<action name="taskInstanceCount" class="taskInstanceAction" method="taskInstanceCount">
<result type="json"/>
</action>
</package>
問題の原因を見つけるのに長い時間がかかりました.
jsonオブジェクトの内容はActionの属性名:属性値形式であるが、属性はgetメソッドに基づいて位置決めされているため、Actionにインタフェースタイプの属性が存在し、対応する属性のgetメソッドが存在する場合、このような異常が報告される.
解決方法:Actionでインタフェースタイプ属性のgetメソッドを削除する.