依赖包:struts2-json-plugin-x.x.x.jar
JSONExample.java
package example;
import java.util.HashMap;
import java.util.Map;
import org.apache.struts2.json.annotations.JSON;
import com.opensymphony.xwork2.Action;
public class JSONExample {
private String field1 = "str";
private int[] ints = {10, 20};
private Map map = new HashMap();
private String customName = "custom";
//'transient' fields are not serialized
private transient String field2;
//fields without getter method are not serialized
private String field3;
public String execute() {
map.put("John", "Galt");
field1 = "hello " + field1;
return Action.SUCCESS;
}
public String getField1() {
return field1;
}
public void setField1(String field1) {
this.field1 = field1;
}
public int[] getInts() {
return ints;
}
public void setInts(int[] ints) {
this.ints = ints;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
@JSON(name="newName")
public String getCustomName() {
return this.customName;
}
}
struts.xml
struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
action_json.jsp
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
My JSP 'pluginAjax.jsp' starting page$(function(){
$("#send").click(
function(){
var $userNameInput = $("#username");
var userName = $userNameInput.val();
$.ajax({
url : "example.action",
type : "GET",
data : "field1=" + userName,
success : function(data, textStatus) {
$("#resText").text(data.field1);
}
});
}
);
});