`

GT-Grid 与后台(j2ee)结合进行CRUD的完整示例

阅读更多
GT-Grid 与后台(j2ee)结合进行CRUD的完整示例


虽然这个示例发布了 而且内含GT-Grid 1.0正式版, 但是我不打算作为正式版本发布.
因为之前承诺的几点 有些还有没有做到:
1 提供一个和ext不一样的皮肤
2 提供更详细的文档和示例

等上面两点做好了 我再正式发布.

=================================
言归正传.
这个例子 主要演示了 gt-grid与后台结合的方法.
请大家重点看action 里是如何从客户端取数据 以及如何向客户端送数据的

而其他地方 例如action如何实现的 , dao层是如何实现的 等等不是大家要看的重点.

dao层只要能返回一个 数据集合 并且这个集合能够转换成json字符串
那么dao层怎么实现 完全按你自己的意愿来.

这个示例中提供了一个 GridServerHelper工具类, 建议建议看看这个类的实现方法
这样能更好的理解 gt-grid和后台交互的方式以及原理.

整个示例的后台代码 我没有使用任何第三方框架 所以难免粗糙 还请大家海涵.

=========================================
关于文档:
JE的wiki频道还是不能达到我期望的样子,所以在JE wiki写文档的计划暂时搁置.
改为在blog里写 不过还没写呢.

以后争取每天写一篇.

==========================================

运行步骤
1 部署后, 运行 startdb.bat 启动数据库

  * h2manager.bat是一个h2db提供的数据库管理程序.

2 启动web应用
3 在浏览器里输入  http://127.0.0.1:8080/gtdemo/index.do
(地址根据实际情况而定),进入"示例列表"页面

4 点击那个 列表里的 第一项的 链接  ,
之后会进入第一个也是目前为止唯一一个和后台结合的示例页面

5 然后就可以对列表进行 增删改 等操作.


=============================================


注意: 附件并不是一个直接部署的war包 而是一个eclipse项目

不过我相信有经验的朋友可以很轻易的就部署成功



下载请去:

http://forum.springside.org.cn/viewthread.php?tid=2924&extra=page%3D1

问: 为什么把附件要放到 springside 网站??
答: 简单点说,两个字"致敬". 具体点说... 等我改天另起一篇blog吧






分享到:
评论
39 楼 fins 2008-10-11  
classpath 的问题
h2.jar 没有找到

你看看你那里运行的上下文是不是有问题

因为那个bat文件是使用相对路径的

另外 不要在eclipse里运行那个bat
要在资源管理器 或命令行里运行
38 楼 fanhui786734 2008-10-11  
Exception in thread "main" java.lang.NoClassDefFoundError: org/h2/tools/Server
Caused by: java.lang.ClassNotFoundException: org.h2.tools.Server
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
请按任意键继续. . .
37 楼 tasguocheng 2008-08-18  
去了不能下载,哪位好心人能给我传一份,tasguocheng@163.com,感激不尽~~~
36 楼 dugujiujian 2008-07-19  
fins  可以参考一下这个时间控件
可惜的是这个时间控件不开源
www.my97.net/dp/demo
35 楼 sangood 2008-07-14  
楼主可以看看下面两个日历控件, kimsoft-jscalendar ZeroCalendar
http://code.google.com/p/kimsoft-jscalendar/
ZeroCalendar
http://www.zerocrm.cn/declare.htm
34 楼 jackini 2008-07-14  
我是在springside2.0中集成的GT-Grid控件
Bug1的使用场景是,在过滤条件中增加了一个条件,该条件查询结果为空没有数据(这是正常的),然后在进入过滤页面,删除掉该查询结果点击确定时,列表中还是显示空没有数据(这就不正常)。该bug也不是经常出现,还有待重复测试一下。
顺便,如果fins兄修改了这两个缺陷,能否把修改后的版本发给我一份,我想继续评估测试一下,以便在项目中使用。谢谢
33 楼 fins 2008-07-13  
非常感谢

bug 2 已经修复
bug 1 没有重现

能不能把你那边的场景说的具体点?? 谢谢
32 楼 jackini 2008-07-13  
使用时发现2处bug
1、在过滤时,添加了过滤条件后执行过滤操作,然后再进入过滤页面,清除所有过滤条件,点击确定时,列表中数据没有显示出来,只有点击刷新后,数据才出来。
2、保存新增或修改的数据时,如果服务器端返回了错误提示,并且返回操作是否成功返回false时,弹出对话框中有个action字符,我没有在错误提示中输入过,列表一直停留在'操作进行中,请稍后'上,只有刷新页面后才能显示正常。
以上两个问题,请fins兄测试并修改一下吧,我正好在用你的这个GT-Grid,说实话该组件很好用,谢谢你的辛勤工作!!



31 楼 windFeng 2008-07-11  
谢谢!
一直在关注gt
30 楼 fins 2008-07-11  
这个bug是我引用的日期组件的问题
我也正在考虑如何能找一个更好的 日期组件 来代替他

希望大家帮忙推荐 谢谢了

或者

不知道有没有哪个日期组件的作者愿意和我合作 ???
29 楼 nicksean 2008-07-11  
有一个问题,日期选取的时候如果界面跟下面的工具条有重叠,重叠部分不能显示,被工具条挡住了,不知道是不是BUG
28 楼 penghao122 2008-07-11  
先下下来测测。。。

不知道性能怎么样
27 楼 fins 2008-07-11  
reomteSort : true 同时需要你在后台取得提交的sort信息 自己去dao里进行操作
26 楼 fins 2008-07-11  
nismaster 写道
fins 能不能够做个mssql的版本呢



没明白你的意思 GT-GRID是一个 与后台无关的纯前台ajax组件

没有任何数据库版.

我提供的这个例子 只是一个 在j2ee里使用gtgrid的参考实现

不知道 你希望得到的是什么
25 楼 fins 2008-07-11  
nicksean 写道
在Struts2中使用出出以下错误
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.

loadUrl : APP_PATH+'/listatom.action' 这样定义对吗(Stuts2)?
如果把APP_PATH去掉,就会报找不到Action定义(实际这个listatom是有定义的),弄不明白为什么?


你这个问题和gt-grid无关了吧??
struts我也没用过

不过 我相信 不管是什么 mvc框架 总是能取得request response的
如果取不到 肯定也能取到 request.getParameterMap 或它的克隆体

你再google一下 或者是问一下别人呗.

另外 那个 GridServerHandler 只是一个参考实现.
如果你确实无法直接操作request/response的话
你可以结合实际情况自己来 写一个类似的东西


另外  此贴不应该变成提问贴

欢迎你去圈子 或者是问答频道提问 谢谢





24 楼 nismaster 2008-07-11  
fins 能不能够做个mssql的版本呢
23 楼 jin_nth 2008-07-11  
springside....放眼都是503
22 楼 nicksean 2008-07-11  
在Struts2中使用出出以下错误
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.

loadUrl : APP_PATH+'/listatom.action' 这样定义对吗(Stuts2)?
如果把APP_PATH去掉,就会报找不到Action定义(实际这个listatom是有定义的),弄不明白为什么?
21 楼 菠萝大象 2008-07-11  
大侠,快写点文档出来吧,全是JS的,怎么看哦,最好能写几个典型的文档例子,这样你辛苦做出来的东东,用的人也多啊,推广的也快嘛!
20 楼 nicksean 2008-07-11  
fins 写道
nicksean 写道
谢谢!还有一个问题,怎么把某列定义成链接,当前数据作为Action的参数,点击后执行后台Action,或在表格中增加一列用前面的某一列数据当参数?


都是没有文档惹的祸
自定义 column的 renderer
renderer=function(value ,record,columnObj,grid,colNo,rowNo){
  return this.editor.getDisplayValue(value);
}

第二个参数 就是 record

那么你可以随意的拼一个链接的html代码了

renderer : function(v,record,columnObj,grid,colNo,rowNo){
  return return '<a href="'+ APP_PATH +'/'+v+'?name='+record.name+'" >'+v+'</a>';
}


如果要用ajax提交
那么你可以在 grid 的 onClickCell 里来做
onClickCell : function( value, record , tdObj ,trObj , colNO, rowNO,colObj,event){
  // 一个函数 你自己随意写  record.name .... 
}

其中value就是你点击的单元格对应的 数据, record就是你点击的单元格对应的记录


没太看明白,JS水平太低,能不能给一个相对完整的例子,关于这个问题的?谢谢!!

相关推荐

    GT-Grid 是一个基于Ajax技术的列表组件

    (ECSide是GT-Grid作者的另一作品, 是一个在国内拥有广泛用户群的列表组件,它基于传统的jspTag技术) GT-Grid 的主要 特性: Ajax实现 (翻页,数据的crud 基于ajax技术) 固定表头和工具栏 自定义复杂表头 可调整列宽: ...

    spring-boot-web-restfulcrud代码示例

    总结起来,"spring-boot-web-restfulcrud" 示例项目展示了如何利用 Spring Boot 和 Spring MVC 实现一个基于 RESTful 的 CRUD 应用。这涵盖了从项目的初始化、Controller 的编写、服务层的设计到与数据库的交互等多...

    面向配置的CRUD框架,基于d2-admin的d2-crud,简化d2-crud配置,快速开发crud功能;支持远程数据字典,国

    面向配置的CRUD框架,基于d2-admin的d2-crud,简化d2-crud配置,快速开发crud功能;支持远程数据字典,国际手机号校验,alioss、腾讯云cos、七牛云文件上传,省市区选择,权限管理,代码生成

    ExtJS笔记---Grid实现后台分页

    在IT行业中,ExtJS是一个...对于初学者来说,理解这些核心概念并结合具体的代码示例进行实践,能有效提升ExtJS开发能力。在阅读这篇博客时,可以参照给出的"extgrid"文件,查看具体的代码实现,以便更好地理解和学习。

    Laravel开发-laravel-admin-generate-crud

    Laravel-admin则是基于Laravel构建的,它提供了一个完整的后台管理系统,包括用户认证、权限控制、表单构建等,使得开发者可以快速地搭建后台管理界面。 `laravel-admin-generate-crud`是Laravel-admin的一个扩展,...

    ssm-crud.zip

    这个"ssm-crud.zip"压缩包提供了一个完整的整合案例,涵盖了基本的CRUD(创建、读取、更新、删除)操作以及分页功能。下面我们将详细探讨这三个框架的核心概念、它们如何协同工作以及在实际开发中的应用。 1. **...

    restful-crud-实验.tar.gz

    在压缩包"restful-crud-实验"中,可能包含了示例代码、README文档、数据库脚本等资源,学习者可以通过阅读和运行这些代码,来实践上述概念并加深理解。通过这个实验,不仅可以掌握RESTful API的设计原则,还能熟悉...

    ZK-ajax 与后台数据库交互CRUD实例

    在"ZK与后台数据库交互CRUD实例"中,CRUD代表Create(创建)、Read(读取)、Update(更新)和Delete(删除),这是数据库操作的基本动作。在Web应用中,CRUD操作是构建动态数据驱动页面的基础。通过ZK框架,开发者...

    spring-boot-04-web-restfulcrud

    本教程聚焦于Spring Boot 2.4版本,针对初学者提供一个完整的RESTful CRUD(创建、读取、更新、删除)操作实例,结合尚硅谷B站教程进行讲解。对于已经熟悉Spring Boot 1.5的老手来说,这个教程可能会揭示2.4版本的...

    Angular-angular-mat-table-crud.zip

    Angular-angular-mat-table-crud.zip,角材料表的crud操作角材料表的crud,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的设计目的是全面解决开发人员的web...

    d2-crud-plus:面向配置的crud框架,基于d2-admin的d2-crud,简化d2-crud配置,快速开发crud功能;支持远程数据字典,国际手机号校验,alioss、腾讯云cos、七牛云文件上传、头像裁剪,省市区选择,权限管理,代码生成

    【d2-crud-plus】面向配置的crud编程基于d2-admin 的 d2-crud 的扩展,简化d2-crud配置,快速开发crud功能。fast-crud支持vue3的fast-crud已发布,开发crud更快、更强、更爽。文档地址: 示例地址: / 仓库地址: / ...

    Maven struts-spring-hibernate全注解 通用CRUD示例

    一、部分软件/库版本 Maven:3.0.5 struts2.2.3-spring3.0.6-hibernate3.6.6 二、Demo功能(导入sql可直接运行) 0.数据库文件doc/db.sql ... 若要在CRUD时做一些其它的操作,可继承对应的Universal,来重写或改写

    maven-springboot-mysql-thymeleaf-mybatis-CRUD增删改查完整版

    【标题】"maven-springboot-mysql-thymeleaf-mybatis-CRUD增删改查完整版"是一个综合性的项目示例,它演示了如何使用Maven、Spring Boot、MySQL、Thymeleaf和MyBatis这五种技术进行CRUD(创建、读取、更新、删除)...

    Ajax-laravel-jquery-ajax-crud.zip

    Ajax-laravel-jquery-ajax-crud.zip,用jquery的ajax特性简单实现laravel crud,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分...

    MyBatis-Plus 的官方示例(mybatis-plus-samples-master.zip)

    mybatis-plus-sample-crud: 完整 CRUD 示例 mybatis-plus-sample-wrapper: 条件构造器示例 mybatis-plus-sample-pagination: 分页功能示例 mybatis-plus-sample-active-record: ActiveRecord示例 mybatis-plus-...

    fast-crud:fast-crud,d2-crud-plus的vue3升级版

    - `fast-crud`是`d2-crud-plus`的升级版,继承了其原有的强大功能,并针对Vue3进行了优化。 - 改进了`d2-crud-plus`中的部分设计,修复已知问题,提升了用户体验。 - 增强了对新特性的支持,如Suspense、Teleport...

    Strut-crud.war(Struts的CRUD Demo Sample)

    struts的crud sample demo(struts-crud.war) 可以直接解压查看代码,或者放到工程中运行

    springboot-crud-examples:Spring Boot CRUD示例

    springboot-crud-示例Spring Boot CRUD示例是使用Spring Data JPA和Querydsl的board实体的简单示例。细节该项目基于Spring Boot 使用的包Spring Data JPA 查询查询百里香叶玛丽亚数据库专家Lombok安装该项目是使用...

    ASP.NET-Core-MVC-Layui-EF-Core-CRUD_Sample.rar

    本示例结合了Layui前端框架和Entity Framework Core(EF Core)作为数据访问层,提供了一个完整的CRUD(创建、读取、更新和删除)操作的实战项目。 首先,让我们深入了解ASP.NET Core MVC。它基于模型-视图-控制器...

    CakePHP-Audit-Log-Plugin, 记录在CRUD操作期间对对象所做的更改.zip

    CakePHP-Audit-Log-Plugin, 记录在CRUD操作期间对对象所做的更改 审计日志插件针对的日志插件 2 1. x. 为每个连接的模型创建一个审计历史。行为跟踪两个级别上的更改。 它获取完全水合对象的快照,在更改之后,更改...

Global site tag (gtag.js) - Google Analytics