远程数据读取
/**
* @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;
}
}
本文介绍了如何使用ExtJS框架中的JsonStore与HttpProxy组件实现从远程服务器加载数据,并通过具体的代码示例展示了从前端配置store到后端编写数据返回逻辑的全过程。
1068

被折叠的 条评论
为什么被折叠?



