Extjs: Struts2整合Extjs Grid时无法显示数据
问题描述:在Action中获取list,从配置文件上合成json,可页面上的grid显示不出来数据。急急!!在线等!!
<script>
Ext.onReady(function(){
//定义store
var ds=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'tml/tml.action',method:'post'}),
reader:new Ext.data.JsonReader({
totalProperty:"total",
root:'list'
},
[
{name:'terminal_uid',mapping:'terminal_uid',type:'int'},
{name:'terminal_id',mapping:'terminal_id',type:'string'},
{name:'terminal_type',mapping:'terminal_type',type:'string'},
{name:'is_controllable',mapping:'is_controllable',type:'char'},
{name:'is_shuttable',mapping:'is_shuttable',type:'char'},
{name:'is_readdable',mapping:'is_readdable',type:'char'},
{name:'charge_person',mapping:'charge_person',type:'string'},
{name:'active_time',mapping:'active_time',type:'date'},
{name:'is_active',mapping:'is_active',type:'char'}
])
});
ds.load();
var sm =new Ext.grid.CheckboxSelectionModel(); //CheckBox选择列
var colM=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),//行号列
sm,
{header:"终端ID",dataIndex:"terminal_uid",align:'center',sortable:true},
{header:"终端编号",dataIndex:"terminal_id",align:'center',sortable:true},
{header:"终端类型",dataIndex:"terminal_type",align:'center',sortable:true},
{header:"是否可控制",dataIndex:"is_controllable",align:'center',sortable:true},
{header:"是否可跳闸",dataIndex:"is_shuttable",align:'center',sortable:true},
{header:"是否可读表",dataIndex:"is_readdable",align:'center',sortable:true},
{header:"负责人",dataIndex:"charge_person",align:'center',sortable:true},
{header:"投运日期",dataIndex:"active_time",align:'center',
renderer:Ext.util.Format.dateRenderer('Y年m月d日'),editor:new Ext.form.DateField({format:'Y年m月d日'})},
{header:"是否有效",dataIndex:"is_active",align:'center',sortable:true}
]);
var grid=new Ext.grid.GridPanel({
renderTo:"hello",
title:"终端信息列表",
height:400,
width:1000,
cm:colM,
ds:ds,
sm:sm,
tbar:({
title:'工具栏',
items:[{xtype:'tbseparator'},{pressed:true,xtype:'button',text:'添加'},
{xtype:'tbseparator'},{pressed:true,xtype:'button',text:'删除'},
{xtype:'tbseparator'},{pressed:true,xtype:'button',text:'修改'}]
}),
autoExpandColumn:2
});
grid.render();
});
</script>
<script>
Ext.onReady(function(){
//定义store
var ds=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'tml/tml.action',method:'post'}),
reader:new Ext.data.JsonReader({
totalProperty:"total",
root:'list'
},
[
{name:'terminal_uid',mapping:'terminal_uid',type:'int'},
{name:'terminal_id',mapping:'terminal_id',type:'string'},
{name:'terminal_type',mapping:'terminal_type',type:'string'},
{name:'is_controllable',mapping:'is_controllable',type:'char'},
{name:'is_shuttable',mapping:'is_shuttable',type:'char'},
{name:'is_readdable',mapping:'is_readdable',type:'char'},
{name:'charge_person',mapping:'charge_person',type:'string'},
{name:'active_time',mapping:'active_time',type:'date'},
{name:'is_active',mapping:'is_active',type:'char'}
])
});
ds.load();
var sm =new Ext.grid.CheckboxSelectionModel(); //CheckBox选择列
var colM=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),//行号列
sm,
{header:"终端ID",dataIndex:"terminal_uid",align:'center',sortable:true},
{header:"终端编号",dataIndex:"terminal_id",align:'center',sortable:true},
{header:"终端类型",dataIndex:"terminal_type",align:'center',sortable:true},
{header:"是否可控制",dataIndex:"is_controllable",align:'center',sortable:true},
{header:"是否可跳闸",dataIndex:"is_shuttable",align:'center',sortable:true},
{header:"是否可读表",dataIndex:"is_readdable",align:'center',sortable:true},
{header:"负责人",dataIndex:"charge_person",align:'center',sortable:true},
{header:"投运日期",dataIndex:"active_time",align:'center',
renderer:Ext.util.Format.dateRenderer('Y年m月d日'),editor:new Ext.form.DateField({format:'Y年m月d日'})},
{header:"是否有效",dataIndex:"is_active",align:'center',sortable:true}
]);
var grid=new Ext.grid.GridPanel({
renderTo:"hello",
title:"终端信息列表",
height:400,
width:1000,
cm:colM,
ds:ds,
sm:sm,
tbar:({
title:'工具栏',
items:[{xtype:'tbseparator'},{pressed:true,xtype:'button',text:'添加'},
{xtype:'tbseparator'},{pressed:true,xtype:'button',text:'删除'},
{xtype:'tbseparator'},{pressed:true,xtype:'button',text:'修改'}]
}),
autoExpandColumn:2
});
grid.render();
});
</script>
...全文
相关推荐
extjs动态表格实例(封装GRID,从STRUTS2读取后台数据 )
在与ExtJS集成时,Struts2可以作为后端控制器,负责处理请求、处理业务逻辑,并返回JSON格式的数据到前端。JSON是一种轻量级的数据交换格式,适合于前后端之间的数据传输。
整合--Struts2为extjs提供server数据
**处理响应数据**:当Action执行完毕,Struts2会返回JSON数据到前端。Extjs的`JsonReader`会解析这个响应,将数据绑定到Grid、Tree或其他组件中。
Struts2与extjs整合例子
**JSON数据交换**:由于Struts2支持JSON插件,可以方便地将Java对象转换为JSON格式,然后发送到前端。ExtJS可以解析这些JSON数据,填充到Grid或其他组件中。5.
struts2+extjs+json整合实例
在Struts2和ExtJS整合中,JSON起到桥梁作用,将服务器端的Action产生的数据转换为JSON格式,然后由ExtJS前端解析并显示在界面上。
ExtJS4+Struts2.1的Grid 增删改查
当执行增删改查操作时,Grid会自动发送AJAX请求到相应的Action,Struts2会处理请求并返回结果。前端再根据返回的结果更新Grid显示。


