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 ...
随机推荐
- chapter9_2 管道与过滤器
一个关于协同程序的经典示例就是“生产者-消费者”的问题. 一个不断产生值,一个不断消费这些值.比如: function producer() while true do local x = io.re ...
- 数据库 mysql 语句
LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言 mysql:常用代码 create table CeShi1( Uid varchar(50) primary key, Pw ...
- 网页 CSS样式表
昨天,我主要是对CSS样式表进行了一下复习. CSS样式表主要有三类:内联样式表.内嵌样式表.外部样式表,我们平时一般使用第二种样式表. 选择器主要包括:标签选择器.class选择器.ID选择器.复合 ...
- 域名、网站名、url的定义
网址:http://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html
- linux下写脚本时-gt是什么意思
-eq 等于-ne 不等于-gt 大于-ge 大于等于-lt 小于-le 小于等于
- Spring Timer实现
定时器:继承java.util.TimerTask类实现run方法 package com.zbb.framework.util.timer; import java.util.TimerTask; ...
- C++中##(两个井号)和#(一个井号)用法
C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结.关 于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化 ...
- 超界文字滚动 (id和类型两种实现方式)
//根据元素id <!DOCTYPE html><html lang="zh-CN"><head> <meta charset=" ...
- fragement生命周期
转自http://www.cnblogs.com/mybkn/ 你的fragment们可以向activity的菜单(按Manu键时出现的东西)添加项,同时也可向动作栏(界面中顶部的那个区域)添加条目, ...
- VBS基础篇 - 对象(7) - TextStream对象
VBS基础篇 - 对象(7) - TextStream对象 TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对 ...