远程数据读取
/** * @author wangxiaowei */ Ext.onReady(function(){ //前面介绍的创建store都是基于本地的数据的在实际上没有意义, //如果要是连接后台服务器必须使用proxy这个属性EXT提供了一个叫httpproxy的对象 //用于远程连接服务器,这样可以从服务器中获得远程数据。还是通过fields定义数据集的 //字段。一旦使用了proxy这个属性必须对这个store调用load方法才会从后台读取数据 //然后定义一个load方法事件函数,这个事件可以获得一个store的句柄通过这个句柄可以读取 //数据。 var store = new Ext.data.JsonStore({ proxy:new Ext.data.HttpProxy({ url:"selectUser.do" }), fields:["name","password"] }); //然后定义一个load方法事件函数,这个事件可以获得一个store的句柄通过这个句柄可以读取 //数据。 store.on("load",function(_store){ alert(_store.getAt(0).get("name")); },this,true); store.load(); });
action代码
package com.exttest.userinfo;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.json.JSONArray;
import org.json.JSONObject;
public class SelectUserAction extends Action{
private IUserinfoDAO userinfoDAO;
public IUserinfoDAO getUserinfoDAO() {
return userinfoDAO;
}
public void setUserinfoDAO(IUserinfoDAO userinfoDAO) {
this.userinfoDAO = userinfoDAO;
}
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
List<Userinfo> list = userinfoDAO.findAll();
JSONArray array = new JSONArray();
for (Userinfo userinfo : list) {
JSONObject object = new JSONObject();
object.put("name", userinfo.getUsername());
object.put("password", userinfo.getPassword());
array.put(object);
}
response.getWriter().print(array);
return null;
}
}