Extjs 4.1 struts2.3 返回json 初试
之前曾经使用过3.x版本的extjs,当时可以结合struts实现各种基本的增删查改。但是4.1版本中增加了一些属性,出现了一些新的使用方法,导致错误不断,有的时候调用到相应的action却返回不了值,有的时候连action也调用不到。这里特别记录下自己解决问题的过程。
新版本的extjs中加入了model的概念,之前没有接触过。这里我理解为类的概念。extjs将json中的各条记录封装成一个类,这个类就可以理解为model。当然类中还是可以包含其他类的。(这样说感觉很奇怪,也可以将json理解为记录集,大的记录又可以包含小的记录。记录就是model的概念)
继而在定义store的时候要指出使用的model。store中的一个新概念是proxy,(记得之前的url是可以直接写在store中的,不过很久没接触了,这点并不是很确定)。proxy可以理解为store生成的方法,后续对store的增、删、查、改貌似也与这个地方有关。将proxy的type定义为ajax,然后在url中指明生成json数据的action即好。store的大致结构如下:
var store = Ext.create('Ext.data.Store',{
storeId:'store',//后面再调用store的时候可能用到
autoLoad:true,//自动加载,页面打开后不需要调用store.load()
proxy:{
type:'ajax',
url:'xxx.action',
reader:{
type:'json'//返回数据类型
root:'xxxx'
}
});
接下来关键部分是action的实现,我的后台采用的是Java平台。配置了struts2.3。
struts可以直接返回json形式的结果,这里注意为了完成相关的功能,比如struts配置文件中extend的类要为json-defaults而非struts-defaults则需要导入相关的包。除了struts所需的基本包以外,我还导入了struts2-json-plugin-2.3.8.jar,ognl-3.0.6.jar,ezmorph-1.0.6.jar,json-lib-2.3-jdk15.jar等包。这里struts配置的时候将result的type设置为json即可。
java类在写的时候千万注意,不再需要像之前那样,将封装好的list对象,再转变为jsonobject,直接一个set,get方法,然后将相应的root的地方设置为这个list对象的名字即可。(这里研究了半天,测试是后台一直可以看到抓到了数据,但是前台就是没有数据记录)。
至此,将相应的store放入grid panel中就好了
Extjs 4.1 struts2.3 返回json 初试的更多相关文章
- struts2注解返回json
Struts2使用注解方式返回Json数据 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Geek_Alex/article/details/788 ...
- Struts2自定义返回Json类型result
本来Struts2有自己的json类型的返回结果,并提供了插件,但是它有一个问题,那就是它会将所有序列化的字段都返回,如果想要制定返回Action的某一个属性,则需要在配置result时,配置参数(这 ...
- struts2后台返回json到jsp页面
1.在action定义一个全局变量如: private Map<String, Object> dataMap; 2.控制层方法 说明:主要的目的是把我们定义的Map转为Json对象,然后 ...
- struts2注释返回json数据
- 深入了解Struts2返回JSON数据的原理
首先来看一下JSON官方对于"JSON"的解释: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...
- (转)Struts2返回JSON数据的具体应用范例
转载自 yshjava的个人博客主页 <Struts2返回JSON数据的具体应用范例> 早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...
- Struts2返回JSON数据的具体应用范例
早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一直忙于工作难以抽身,渐渐的也淡忘了此事.直到前两天有同事在工作中遇到这个问题,来找 ...
- Struts2返回JSON数据的具体应用范…
Struts2返回JSON数据的具体应用范例 博客分类: Struts2 Struts2JSON 早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...
- struts2中的json
这里放一个转载的struts2中json的详细应用和范例, http://yshjava.iteye.com/blog/1333104,这是个人在网上看到的很用心也很详细的一份关于struts2中js ...
随机推荐
- CEdit实现文本换行
CEdit控件若要在字符串中插入换行字符("\r\n")实现换行效果,必须指定两个风格 ES_MULTILINE和ES_WANTRETURN. 1: DWORD dwStyle = ...
- NOIP2011-普及组复赛-第二题-统计单词数
题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给 ...
- java反射机制(访问私有字段和私有方法)
来自:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html 尽管我们通常认为通过JAVA的反射机制来访 ...
- c#循环
循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. for(初始条件;循环条件;状态改变) { 循环体 } break ——中断循环,跳出 ...
- AltiumDesigner14绘制四层板设置
1,快捷键(O+K)进入板层设置界面: 2,选择AddLayer,里边有两个选项(add layer(添加信号层)||add internal plane(增加平面)) 四层板的话一般层次的划分是t ...
- 美化type="file"控件
对于type="file"而言是一个不大好看的控件.如果不美化他一下,总感觉自己的网站有些缺乏了美感 上代码: <!DOCTYPE html> <html> ...
- 笔记整理--Linux多线程
Unix高级环境编程系列笔记 (2013/11/17 14:26:38) Unix高级环境编程系列笔记 出处信息 通过这篇文字,您将能够解答如下问题: 如何来标识一个线程? 如何创建一个新线程? 如何 ...
- SNMP学习之结构体snmp_secmod_def
此结构体中定义了各个回调函数,在函数init_ksm(E:\code\net-snmp-5.4.2.1\snmplib)中进行了初始化. void init_ksm(void) { struct sn ...
- putty 默认设置
打开 在 title上 点击 change settings / 或直接打开 设置面板 ,session 写 Default Settings 点击 save OK 另外 在 window- ...
- Entity Framework中对存储过程的返回值的处理
很早就开始注意到EF了,但一直没有机会用,换了工作后,第一个项目就使用EF6进行开发. 项目不是很大,EF完全可以胜任. 但是开发过程中,难免还是会遇到一些复杂的运算,需要频繁访问数据库. 此时,想到 ...