`

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水平太低,能不能给一个相对完整的例子,关于这个问题的?谢谢!!

相关推荐

Global site tag (gtag.js) - Google Analytics