用extjs4做tree,结合struts,spring 查询数据库后返回json数据,并显示数据树,应该怎么做?
主要问题就是struts2和spring结合怎么返回json数据的问题,不知道怎么解决,前辈们帮忙下。前台代码:<scripttype="text/javascript"...
主要问题就是struts2和spring结合怎么返回json数据的问题,不知道怎么解决,前辈们帮忙下。
前台代码:
<script type="text/javascript">
var citycode='0590';
Ext.onReady(function(){
Ext.define('ctreemodel', {
extend: 'Ext.data.Model',
fields: [
{name: 'text', type: 'string'},
{name: 'cpid', type: 'string'},
{name: 'upid', type: 'string'},
{name: 'leaf', type:'boolean'}
]
});
var st=new Ext.data.TreeStore({
model: 'ctreemodel',
proxy: {
type: 'ajax',
url: '<%= request.getContextPath()%>/demo/module/msg/selectcollection.shtml?citycode='+citycode
},
root: {
text:'main',
expanded: true
}
});
var po=new Ext.Viewport({
layout:'border',
rendeTo:Ext.getBody(),
items:[
{title:'west',region:'west',split:false,border:true,collapsible:true,height:300,width:200,
xtype:'treepanel',
text:'maintree',
store:st,
listeners : {
'itemclick' : function(view,re){
Ext.MessageBox.alert("hello",re.data.message);
}
}
},{
title:'center',
region:'center',
height:300,
width:200,
xtype:'form',
labelAlign:'right',
width:'100%',
frame:true,
title: '编辑',
bodyStyle:'padding:50px 150px 0',
}
]
});
});
</script>
struts应该怎么配置?比如selectcollection是action名称 展开
前台代码:
<script type="text/javascript">
var citycode='0590';
Ext.onReady(function(){
Ext.define('ctreemodel', {
extend: 'Ext.data.Model',
fields: [
{name: 'text', type: 'string'},
{name: 'cpid', type: 'string'},
{name: 'upid', type: 'string'},
{name: 'leaf', type:'boolean'}
]
});
var st=new Ext.data.TreeStore({
model: 'ctreemodel',
proxy: {
type: 'ajax',
url: '<%= request.getContextPath()%>/demo/module/msg/selectcollection.shtml?citycode='+citycode
},
root: {
text:'main',
expanded: true
}
});
var po=new Ext.Viewport({
layout:'border',
rendeTo:Ext.getBody(),
items:[
{title:'west',region:'west',split:false,border:true,collapsible:true,height:300,width:200,
xtype:'treepanel',
text:'maintree',
store:st,
listeners : {
'itemclick' : function(view,re){
Ext.MessageBox.alert("hello",re.data.message);
}
}
},{
title:'center',
region:'center',
height:300,
width:200,
xtype:'form',
labelAlign:'right',
width:'100%',
frame:true,
title: '编辑',
bodyStyle:'padding:50px 150px 0',
}
]
});
});
</script>
struts应该怎么配置?比如selectcollection是action名称 展开
3个回答
展开全部
很简单···你struts2是哪个版本的,高于2.16的,有一个struts2-json-plugin-2.1.8.jar的插件包,放入lib后;你要做现实菜单就必须在后台创建一个tree的class,内容是这样的
/**树节点ID*/
private String id;
/**树节点名称*/
private String text;
/**图标*/
private String cls;
/**是否叶子*/
private boolean leaf;
/**链接*/
private String href;
/**链接指向*/
private String hrefTarget;
/**是否展开*/
private boolean expandable;
/**描述信息*/
private String description;
然后将数据中的数据存入这个类的对象,再把得到的对象加入到一个java.util.List treeList中,然后在action里面将treeList转换成json,方法是这样的
JSONArray jsonArray = JSONArray.fromObject(treeList);
getResponse().setCharacterEncoding("utf-8");
getResponse().getWriter().println(jsonArray.toString());
,可能说的有点马虎,有不理解的可以再追问。
/**树节点ID*/
private String id;
/**树节点名称*/
private String text;
/**图标*/
private String cls;
/**是否叶子*/
private boolean leaf;
/**链接*/
private String href;
/**链接指向*/
private String hrefTarget;
/**是否展开*/
private boolean expandable;
/**描述信息*/
private String description;
然后将数据中的数据存入这个类的对象,再把得到的对象加入到一个java.util.List treeList中,然后在action里面将treeList转换成json,方法是这样的
JSONArray jsonArray = JSONArray.fromObject(treeList);
getResponse().setCharacterEncoding("utf-8");
getResponse().getWriter().println(jsonArray.toString());
,可能说的有点马虎,有不理解的可以再追问。
展开全部
struts不需要配置,只要框架里加上json的jar包。返回json数据在action中,把json数据写入response
代码:
String json="....";
response.getWriter().write(json);
页面就可以得到值了。页面EXT读取数据用
Ext.data.JsonReader(...)
代码:
String json="....";
response.getWriter().write(json);
页面就可以得到值了。页面EXT读取数据用
Ext.data.JsonReader(...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
希望能给一个完整的ext代码,重点是我怎么把获取的json拿出来显示,比如在}); }); Ext的ApiDoc做得非常好, 对学习有很大的帮助. 千万不要看一些
追问
我要提问的就是这个问题,怎么弄json,怎么显示。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询