我们知道ajax本质上还是一个标准的http请求,其特别之处在于能完成局部的异步请求。所以这里讲的所谓方式,其实只是怎么把请求的内容返回给客户端的几种方法。
二、返回指定的页面
一、response方式
HttpServletResponse response = ServletActionContext.getResponse();
response.getWriter().println("ok");
二、返回指定的页面
struts2的action通常在struts.xml中配置一个处理完成后指向的页面,因此可以将整个页面作为返回的内容,这在一些局部列表刷新很有用。
三、返回json格式
struts2对返回json格式有较好的支持,简单示例代码如下
struts2.xml配置:
<package name="jsonaction" namespace="/" extends="json-default">
<action name="getlist" class="com.taozhi.action.ChatAction" method="getlist">
<result type="json"><param name="root">result</param></result>
</action>
</package>
java代码:
package com.taozhi.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.json.JSONObject;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.json.annotations.JSON;
public class ChatAction implements Action{
private String result;
public String getlist(){
Map<String,String> chatroom = new HashMap<String,String>();
StringBuffer roomlist = new StringBuffer("room");
StringBuffer memberlist = new StringBuffer("member");
chatroom.put("roomlist", roomlist.toString());
chatroom.put("memberlist", memberlist.toString());
JSONObject jo = JSONObject.fromObject(chatroom);
this.result = jo.toString();
return SUCCESS;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
}