EXTJS怎么与后台数据交互的?我写了一些代码,后台用的SSH写的。
我的JSP代码:<%@pagelanguage="java"import="java.util.*"pageEncoding="GB18030"%><%@pageimpo...
我的JSP代码:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="com.myshopping.web.action.SortAction" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="./extjs/extjs/resources/css/ext-all.css">
<script type="text/javascript" src="./extjs/extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="./extjs/extjs/ext-all.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var cm = new Ext.grid.ColumnModel([
{id:"id",header:"id",dataIndex:"id",sortable:true},
{header:"类别名",dataIndex:"name",sortable:true},
{header:"描述",dataIndex:"deser",sortable:true},
{header:"父亲ID",dataIndex:"pid",sortable:true},
{header:"标识",dataIndex:"isleaf",sortable:true},
{header:"级别",dataIndex:"grade",sortable:true}
]);
var store = new Ext.data.JsonStore({
fields:["id","name","deser","pid","isleaf","grade"]
});
var grid = new Ext.grid.GridPanel({
renderTo:'hello',
width:650,
height:300,
store:store,
cm:cm
});
});
</script>
</head>
<body>
<div id="hello"></div>
</body>
</html>
。。。。。。对应的ACTION..
SortAction代码:
/**
* 后台管理员显示所有用户 (有分页)
*/
public String list() {
PageBean pageBean = new PageBean();
pageBean.setCurrentPage(Page);
this.sorts = sortService.queryForPage(10, pageBean);
this.pageBean = pageBean;
return "list";
}
。。。。。。。。。。。。。。只能显示一个界面不能提出数据库中的对应的内容 展开
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="com.myshopping.web.action.SortAction" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="./extjs/extjs/resources/css/ext-all.css">
<script type="text/javascript" src="./extjs/extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="./extjs/extjs/ext-all.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var cm = new Ext.grid.ColumnModel([
{id:"id",header:"id",dataIndex:"id",sortable:true},
{header:"类别名",dataIndex:"name",sortable:true},
{header:"描述",dataIndex:"deser",sortable:true},
{header:"父亲ID",dataIndex:"pid",sortable:true},
{header:"标识",dataIndex:"isleaf",sortable:true},
{header:"级别",dataIndex:"grade",sortable:true}
]);
var store = new Ext.data.JsonStore({
fields:["id","name","deser","pid","isleaf","grade"]
});
var grid = new Ext.grid.GridPanel({
renderTo:'hello',
width:650,
height:300,
store:store,
cm:cm
});
});
</script>
</head>
<body>
<div id="hello"></div>
</body>
</html>
。。。。。。对应的ACTION..
SortAction代码:
/**
* 后台管理员显示所有用户 (有分页)
*/
public String list() {
PageBean pageBean = new PageBean();
pageBean.setCurrentPage(Page);
this.sorts = sortService.queryForPage(10, pageBean);
this.pageBean = pageBean;
return "list";
}
。。。。。。。。。。。。。。只能显示一个界面不能提出数据库中的对应的内容 展开
5个回答
展开全部
指定到 jsp ,那个jsp 里肯定有默认的请求发送。这种写法不是很普遍。 最普遍的是URL 直接写入要访问的服务器地址以及具体相对路径。
这个要后台是GET 还是 POST ,查询一般是 GET。
form.getForm().submit({
url:.......,
waitMsg:'加载中....',
params:{
method:'login'
},
success:function(form, action){
//如果返回true则
Ext.MessageBox.alert("info","登录成功!")
},
failure : function(form, action) {
Ext.MessageBox.alert("info","登录失败!")
}
});
//形式差不多就是这样的。
这个要后台是GET 还是 POST ,查询一般是 GET。
form.getForm().submit({
url:.......,
waitMsg:'加载中....',
params:{
method:'login'
},
success:function(form, action){
//如果返回true则
Ext.MessageBox.alert("info","登录成功!")
},
failure : function(form, action) {
Ext.MessageBox.alert("info","登录失败!")
}
});
//形式差不多就是这样的。
展开全部
var store = new Ext.data.JsonStore({
// store configs
autoDestroy: true,
url: 'getimages.action',
storeId: 'myStore',
// reader configs
root: 'images',
idProperty: 'name',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
最主要的市请求后台的Action要返回json 字符串可以用 json lib 或 google 的gson lib jar 加入就可以实现把对象转换成 json 字符串
我用的是 struts2 实现json拦截器
<package name="project-default" extends="json-default">
<!--JSON拦截器配置-->
<interceptor name="json"
class="jsonInterceptor">
</interceptor>
然后 用到的地方配置
<result name="resMain_list" type="json">
<param name="includeProperties">resVoList.*,success</param>
</result>
大概是这样的 要根据项目的实际情况定
// store configs
autoDestroy: true,
url: 'getimages.action',
storeId: 'myStore',
// reader configs
root: 'images',
idProperty: 'name',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
最主要的市请求后台的Action要返回json 字符串可以用 json lib 或 google 的gson lib jar 加入就可以实现把对象转换成 json 字符串
我用的是 struts2 实现json拦截器
<package name="project-default" extends="json-default">
<!--JSON拦截器配置-->
<interceptor name="json"
class="jsonInterceptor">
</interceptor>
然后 用到的地方配置
<result name="resMain_list" type="json">
<param name="includeProperties">resVoList.*,success</param>
</result>
大概是这样的 要根据项目的实际情况定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function createStore() {// 创建数据仓库
store_res = new Ext.data.Store( {
proxy :new Ext.data.HttpProxy( {
url :'<%=contextPath%>/loginLog_findLoginLog.action'
}),
reader :new Ext.data.JsonReader( {
root :'pager.data',
totalProperty :'pager.totalSize'
}, [ {
name :'logid',
mapping :'logid'
}, {
name :'loginid',
mapping :'loginid'
}, {
name :'loginname',
mapping :'loginname'
}, {
name :'loginip',
mapping :'loginip'
}, {
name :'loginaddr',
mapping :'loginaddr'
}, {
name :'logintime',
mapping :'logintime'
}, {
name :'logouttime',
mapping :'logouttime'
}, {
name :'memtype',
mapping :'memtype'
}, {
name :'note',
mapping :'note'
} ])
});
}
action中直接return SUCCESS
struts.xml配置
<package name="backstage" namespace="" extends="json-default">
<action name="" class="" method="{1}">
<result type="json"></result>
</action>
</package>
store_res = new Ext.data.Store( {
proxy :new Ext.data.HttpProxy( {
url :'<%=contextPath%>/loginLog_findLoginLog.action'
}),
reader :new Ext.data.JsonReader( {
root :'pager.data',
totalProperty :'pager.totalSize'
}, [ {
name :'logid',
mapping :'logid'
}, {
name :'loginid',
mapping :'loginid'
}, {
name :'loginname',
mapping :'loginname'
}, {
name :'loginip',
mapping :'loginip'
}, {
name :'loginaddr',
mapping :'loginaddr'
}, {
name :'logintime',
mapping :'logintime'
}, {
name :'logouttime',
mapping :'logouttime'
}, {
name :'memtype',
mapping :'memtype'
}, {
name :'note',
mapping :'note'
} ])
});
}
action中直接return SUCCESS
struts.xml配置
<package name="backstage" namespace="" extends="json-default">
<action name="" class="" method="{1}">
<result type="json"></result>
</action>
</package>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JsonStore 有一个URL 属性,。可以指定你的java程序
后台输出json数据类型的字符串就行了。
后台输出json数据类型的字符串就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-02-13
展开全部
用ajax
参考资料: cjl
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询