使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时,如果会出现异常:java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://morph.sourceforge.net/
http://ezmorph.sourceforge.net/
那么怎么从后台传数据到前台呢:
action里
JSONObject json = new JSONObject();
json.put("result", list);
json.put("totalCount", list.size());
System.out.println("-------------="+json.toString());
HttpServletResponse response = ServletActionContext.getResponse();
// 编制响应的格式
response.setContentType("text/html;charset=UTF-8");
try {
response.getWriter().write(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
前台mygrid.js:
ListGridPanel=function(viewer,config){
Ext.apply(this,viewer);
this.init(config);
ListGridPanel.superclass.constructor.call(this,{
});
};
Ext.extend(ListGridPanel,Ext.grid.GridPanel,{
init:function(config){
var col=[];
var rcol=[];
for(var i=0,j=config.columns;i<j.length;i++){
if(j[i]["dataIndex"]!=""){
col.push(j[i]);
rcol.push({name:j[i]["dataIndex"]});
}
}
this.columns=col;
alert("我来了数据="+config.url);
var store = new Ext.data.Store({
url:config.url,
baseParams:{method:config.method,limit:10,start:0},
reader:new Ext.data.JsonReader({totalProperty: 'totalCount',root:"result"},Ext.data.Record.create(rcol)),
autoLoad:true
});
this.store = store,
this.region='center',
this.loadMask=true,
this.bbar= new Ext.PagingToolbar({store:store,pageSize:10,displayMsg:'显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg:'没有记录'});
}
});
自己的jsp:
var usercheckbox =new Ext.grid.CheckboxSelectionModel();
var userrownumber=new Ext.grid.RowNumberer();
var widthValue=61;
var yoyo = "123";
//权限表头
var purview=[usercheckbox,userrownumber,
{header:'应用提供商编号',dataIndex:'bpid',sortable:true},
{header:'服务名称',dataIndex:'bsName',sortable:true},
{header:'密码',dataIndex:'password',sortable:true},
{header:'用系统名称',dataIndex:'userName',sortable:true}
];
var config={columns:purview,url:'<%=basePath%>/AdminLogin/login/adminLoginAction_loginQueryUserList',method:'loginQueryUserList'};
var gridpanel=new ListGridPanel({height:500,width:1200,sm:usercheckbox,id:"grid"},config);
记得:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript"
src="<%=basePath%>/AdminLogin/common/ext/ext-base.js"></script>
<script type="text/javascript"
src="<%=basePath%>/AdminLogin/common/ext/ext-all.js"></script>
<link rel="stylesheet" type="text/css"
href="<%=basePath%>/AdminLogin/common/ext/resources/css/ext-all.css" />
<script type="text/javascript"
src="<%=basePath%>/AdminLogin/common/myGrid.js"></script>
<script type="text/javascript"
分享到:
相关推荐
ExtJs + Struts2 + JSON 是一种常见的前端与后端数据交互的技术组合,常用于构建富客户端应用。这里我们详细探讨一下这三个技术组件以及它们如何协同工作。 首先,ExtJs 是一个JavaScript库,用于创建复杂的、用户...
ExtJS + Struts2 + Hibernate + JSON 登录程序是一个典型的Web开发示例,结合了前端JavaScript框架、MVC框架、持久层框架以及数据传输格式,实现了用户登录功能的前后端交互。下面将详细阐述这些技术及其在登录程序...
在IT行业中,构建Web应用程序是一项常见的任务,而`ExtJS`、`Struts2`和`JSON`是其中的关键技术,常被用来创建交互性强、功能丰富的用户界面和高效的服务器通信。下面将详细阐述这三个技术及其结合使用的情况。 ...
总结来说,这个实例展示了如何将前端的ExtJS4框架,特别是其Accordion布局和Ext.tree.Panel组件,与Servlet和Struts2后端框架集成,利用JSON进行数据交换,来创建一个动态的、交互性强的Web应用。用户可以通过折叠和...
上网找资料,都是一些不全的. struts2+extjs2.1+json+hibernate+spring 自己整合的例子. 当中hibernate数据源可以配置自己的.后台输送json 前台接收.
这是一个基于ExtJS、Struts2和JSON的登录实例,适合初学者学习Web应用程序开发。这个实例演示了如何将前端的JavaScript框架ExtJS与后端的Java MVC框架Struts2结合,通过JSON进行数据交换实现用户登录功能。下面将...
在本文中,我们将探讨如何结合 ExtJS、JSON 和 Struts2 实现一个动态加载的树形菜单。ExtJS 是一个流行的 JavaScript 框架,用于构建富客户端应用,它支持多种数据源,包括 JSON。Struts2 是一个 Java Web 开发框架...
Struts2、ExtJS和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将详细介绍这三个技术及其整合过程。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式...
ExtJS Tree + JSON + Struts2 是一个常见的前端与后端交互技术组合,常用于构建动态的、数据驱动的树形结构界面。在这个项目中,`index.html` 是主页面,`tree.js` 包含了 ExtJS 的树组件相关的 JavaScript 代码,`...
在我的随笔Extjs Tree + JSON + Struts2中我介绍了如何异步加载一个Extjs的树,但是很多网友留言说不能成功操作。现在我自己做了一个所有源代码的包,供大家下载。 有几点事项请大家注意 1、blogjava的文件上载要求...
ExtJS Tree + JSON + Struts2 示例源代码详解 在Web开发中,构建交互式的用户界面是关键。ExtJS是一个强大的JavaScript库,尤其擅长创建桌面级的Web应用。本示例将详细介绍如何结合ExtJS的Tree组件、JSON数据格式...
6. 配置文件:如Structs的struts.xml、EXTJS的app.js,以及数据库连接配置等。 7. 图片和其他静态资源:用于增强用户体验的媒体文件。 通过结合EXTJS、Structs和MySQL,开发者能够构建出高性能、易维护的Web应用,...
在IT行业中,构建Web应用程序是常见的任务,而“ExtJS4+JSON+Servlet(Struts2)实现登录验证”是一个典型的前端与后端交互的场景。这个主题涉及到几个关键的技术点,我们将逐一深入探讨。 首先,ExtJS4是一个流行的...
一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts2, json,iterator技术, 将数据从...
为了使EXTJS4和STRUTS2能够通信,需要配置STRUTS2的JSON插件,使得ACTION可以返回JSON格式的数据,EXTJS4能解析这些数据更新界面。同时,需要在EXTJS4中设置适当的proxy,如Ajax proxy,指定URL到STRUTS2 ACTION,并...
### Struts2+Json+ExtJS分页技术详解 #### 一、技术背景与概述 在Web开发领域,实现高效的数据展示与交互是至关重要的。本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此...
Struts2.18+Spring2.56+Hibernate3+Extjs+JSON是一个经典的Java Web开发技术组合,常用于构建高效、可扩展的企业级应用。这个项目涉及到的知识点广泛,涵盖前端、后端以及数据持久化等多个层面。以下是这些技术在...
在本例中,Struts2将与ExtJS交互,接收前端的Ajax请求,调用后端服务,执行CRUD操作,并将结果以JSON或其他格式返回给前端。Struts2的拦截器机制也使得我们可以方便地添加自定义的业务逻辑或验证规则。 最后,ExtJS...