`
阅读更多
使用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://ezmorph.sourceforge.net/
http://morph.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动态表格实例(封装GRID,从STRUTS2读取后台数据 )

    在这个"extjs动态表格实例"中,我们将探讨如何使用ExtJS封装Grid并从Struts2框架的后台获取数据。 首先,让我们了解ExtJS中的Grid组件。Grid是ExtJS的一个关键组件,它用于展示结构化数据,并支持多种操作,如排序...

    ExtJS4+Struts2.1的Grid 增删改查

    在Struts2中,你需要配置struts.xml文件,为每个Action方法定义一个Action映射,指定其URL路径和结果类型。 最后,让ExtJS4的Grid与Struts2.1的Action进行交互。通过配置Store的proxy,设置其type为'ajax',指定URL...

    struts2 + extjs例子

    1. **Action类**:Struts2中的Action类会接收并处理来自ExtJS前端的Ajax请求,通常这些请求可能是由ExtJS的Grid或Form组件发起的。 2. **Ajax通信**:ExtJS通过AJAX与Struts2 Action进行通信,实现异步数据加载和...

    ssh+extjs4.0grid删除数据

    在IT行业中,SSH(Spring、Struts和Hibernate)是一个经典的Java Web开发框架组合,而ExtJS则是一个流行的JavaScript库,用于构建富客户端的Web应用程序,特别是数据网格(Grid)功能。这里我们关注的是如何在SSH...

    Struts2+Json+ExtJS分页

    这部分代码通常位于Struts2的Action类中,负责接收前端传来的参数(比如分页信息),处理业务逻辑,并将处理结果以JSON格式返回。 ```java public class UserAction extends ActionSupport { private static final...

    ssh框架+extjs4.0grid实例

    开发者可以通过此项目学习到如何使用Struts2 Action返回JSON数据,ExtJS Grid如何解析并显示这些数据,以及Spring如何管理整个应用的生命周期。这样的组合既提供了强大的后台处理能力,也具备优秀的用户体验,是现代...

    Extjs+Struts整合入门实例

    Store会从后台获取数据(通常是通过Struts Action返回的JSON格式数据)。 2. 定义Model,描述图书的数据结构,如ID、书名、作者等字段。 3. 创建Grid面板展示图书列表,Grid的store绑定到上面创建的Store。 4. 在...

    ssh+extjs4.0grid增删改查

    在"ssh+extjs4.0grid增删改查"这个主题中,我们将深入探讨如何将SSH框架与Ext JS 4.0 Grid集成,实现数据的CRUD(Create, Read, Update, Delete)功能。 1. **Struts2整合Hibernate**: - 配置Struts2-Hibernate...

    Ext+struts2项目

    例如,EXTJS2的Grid Panel可以与Struts2 Action进行通信,展示从服务器获取的数据。 2. 控制层:Struts2 Action接收EXTJS2发起的Ajax请求,处理业务逻辑后返回JSON或XML格式的数据。EXTJS2会解析这些数据并更新UI。...

    Strust2+Json+ExtJs 6个程序代码(经典)

    在Struts2中,我们可以使用JSON结果类型来返回数据,使前后端进行数据交换。这样,前端可以通过Ajax请求获取到服务器端处理后的数据,无需刷新整个页面。 3. **ExtJS**:这是一款强大的JavaScript库,用于构建富...

    Struts2+Spring2.5+Hibernate3(JPA)+ExtJS3基本后台

    Struts2、Spring2.5、Hibernate3(JPA)和ExtJS3是构建现代企业级Web应用的四大核心技术,它们各自在应用架构中扮演着关键角色。下面将详细阐述这些技术及其组合使用时的基本概念和功能。 1. **Struts2**:Struts2...

    Extjs4 mvc+struts 应用例子

    例如,当用户在Grid中进行编辑时,Struts action会接收到这些修改,更新后台数据库,然后返回更新后的数据或者操作状态给前端的ExtJS应用。 在实际的项目中,开发者可能还需要配置Struts的配置文件(struts.xml),...

    EFS+Struts2实战之grid Pane 解析XML实现数据交换

    在Struts2中,我们需要创建一个Action类,例如`QuestionList`,它继承自`ActionSupport`。在这个类中,我们需要定义一个`outXML`变量来存储生成的XML,以及一个`qlist`变量来保存从后台获取的数据。我们还需要注入`...

    s2sh ExtJS开发CRUD功能

    【s2sh ExtJS开发CRUD功能】是指使用Struts2、Spring和Hibernate这三大开源框架,结合ExtJS前端库来实现数据的创建(Create)、读取(Retrieve)、更新(Update)和删除/Delete)操作。这个组合常被称为s2sh架构,是Java ...

    extjs_struts_ibatis_sqlserver开发实例

    2. **EXTJS应用开发**:讲解EXTJS的基本组件使用,如Grid面板、Form表单、Tree组件等,以及如何利用EXTJS的数据绑定机制与后台进行数据交互。 3. **Struts2应用配置**:介绍Struts2的配置文件(struts.xml),...

    extjs+struts+hibernate做的文件批量上传源代码

    这可以通过ExtJS的Grid Panel或者其它图表组件实现,数据来源于Struts从数据库获取的数据集。 7. 安全性:在实际应用中,还需要考虑安全性问题,如防止非法文件类型上传、限制文件大小、保护用户隐私等。这些可以...

    ExtJSgrid组件,分页展示全功能

    总的来说,这个项目展示了如何使用ExtJS Grid组件构建一个具备分页、编辑、删除、查看等功能的表格,并结合Struts2、Hibernate3和Spring实现后台的数据操作和管理。通过对这些文件的学习和理解,开发者可以深入掌握...

    ssh+extjs全注解的上传、分页、验证码的demo

    在这个demo中,EXTJS的Grid Panel用于展示分页数据,Form Panel用于文件上传,而Captcha Component则实现了验证码功能。EXTJS的数据管理模型与SSH后端的数据传输对象(DTO)相结合,通过Ajax请求实现了前后端的数据...

Global site tag (gtag.js) - Google Analytics