struts2 を介して Json データを取得する際に問題が発生しています。以下は私のコードです: struts.xml
<struts>
<package name="default" extends="struts-default,json-default">
<action name="getMenuInfo" class="test.AppTaskConfigDAOImpl" method="getJsonData">
<result type="json">
<param name="root">jsonResponse</param>
</result>
</action>
</package>
</struts>
Java クラス:
public String getJsonData() {
{
List<AppTaskConfig> records = null;
String jsonResponse;
try {
SessionFactory sessionFactory= new AnnotationConfiguration().configure().buildSessionFactory();
Session session=sessionFactory.openSession();
session.beginTransaction();
Criteria criteria=session.createCriteria(AppTaskConfig.class);
records = (List<AppTaskConfig>)criteria.list();
ClassMetadata classMetadata = sessionFactory.getClassMetadata(AppTaskConfig.class);
String [] names=classMetadata.getPropertyNames();
session.getTransaction().commit();
session.close();
ConvertToJson jsondoc= new ConvertToJson();
jsonResponse=jsondoc.toJsonArray(records, names[2]).toString();
System.out.println(jsonResponse);
}
catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ActionSupport.SUCCESS;
}
JavaScript コード: jsonResponse 変数をフェッチして、Jquery で使用しています。
$.getJSON('getMenuInfo.action', function(json) {
$.each(json, function (key, value) {
alert(value);
});
});
警告メッセージは表示されません。HTML ページにアラートが表示されます。デバッグしようとしていますが、Java メソッドにすら入っていません。正しい進め方を教えてください。助けていただければ幸いです。