簡單記錄 struts2 + json plugin 的 AJAX 寫法
1. 在 struts2 的 xml 檔加入以下 json 設定
<package name=”json” namespace=”/json” extends=”json-default”>
<action name=”getCustomer” class=”com.amjet.web.action.JsonAction” method=”getCustomer”>
<result name=”success” type=”json”>
<param name=”root”>response</param>
</result>
</action>
</package>
2. json action 內放一個 property response, 例如
private Map<String,Object> response;
加上 getter, setter, 回傳 ajax response
3. json action method
public String getCustomer() {
response=new HashMap<String,Object>();
response.put(“info”,<customer info>);
return SUCCESS;
}
4. 頁面接取 json 資料
function doQuery() {
$.ajax({
url: ‘<s:url action=”getCustomer” namespace=”/json”/>’,
type: ‘POST’,
dataType: ‘json’,
data: { id_no: id_no },
success: function(data,status,xhr) {
*** your handler here ***
}
});
}