Struts 2シリーズの(1)JSONカードでajaxデータを返す
2298 ワード
struts2-json-plugin.jar
AjaxAction
クラスを作成し、ここでの属性users
はValueStack
root
のスタックトップAjaxAction
のとき、AjaxAction
のオブジェクトはスタックトップAction
に携帯する属性名は、メンバー変数名ではなくgetXXX()
によって決定されるが、一般的には同じpublic class AjaxAction extends ActionSupport {
List users;
public List getUsers() {
return users;
}
@Override
public String execute() throws Exception {
users = new ArrayList<>();
users.add(new User(" ","1234532"));
users.add(new User(" ","1234532"));
users.add(new User(" ","1234532"));
users.add(new User("ethan","1234532"));
System.out.println("ajax execute");
return SUCCESS;
}
}
struts.xml
にaction
users
構成の詳細:
package
のextends
属性値はjson-default
result
のtype
属性値はjson
構成後、
valueStack
のroot
スタックトップデータがjsonになります.現在のプログラムの場合、スタックトップデータはAjaxAction
オブジェクトです.すなわち、最終的に返されるjson
のデータは、AjaxAction
のオブジェクトを変換したものである.{
"users": [{
"username": " "
}, {
"username": " "
}, {
"username": " "
}, {
"username": "ethan"
}],
"otherProperty": "values"
}
AjaxAction
で指定された属性users
のみを取得し、jsonに変換する方法:result
内部追加構成:users
[{
"username": " "
}, {
"username": " "
}, {
"username": " "
}, {
"username": "ethan"
}]