這裡的範例是以「2.3.16.1」為主。
需要的jar檔如下:
先簡單看一下
web.xml
的配置:
主要意思是,將所有的回應,轉給Struts來做處理。mystruts struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*
再來看
struts.xml
的配置:
需要注意的是第9至11行這邊,需要替我要回傳的JSON格式定義一個/index.jsp /pages/HelloWorld.jsp jsonString
result-type
,在這裡就是json。
這裡使用Struts2定義的
org.apache.struts2.json.JSONResult
類別。
再來我只要再定義一個Action,它在
execute
方法處理好要轉成JSON字串的物件,並返回json_ok的結果就好,如上的第16至20行。
JsonAction.java
的程式如下:
package org.apache.struts.helloworld.action; import java.util.HashMap; import java.util.Map; import org.apache.struts.helloworld.model.JsonString; import com.opensymphony.xwork2.ActionSupport; public class JsonAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1645961153075600530L; private JsonString jsonString; public String execute() throws Exception { Map啟動伺服器後,送出要求後,就會得到下列的結果:map = new HashMap (); map.put("abc", "123"); map.put("def", "456"); this.getJsonString().setRes(map); return "json_ok"; } public JsonString getJsonString() { if(jsonString == null) { this.jsonString = new JsonString(); } return jsonString; } public void setJsonString(JsonString jsonString) { this.jsonString = jsonString; } }
上列程式碼,可至這裡下載。