這裡的範例是以「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;
}
}
啟動伺服器後,送出要求後,就會得到下列的結果:
上列程式碼,可至這裡下載。

