extjs代码不会写代码

Eclipse与ExtJS&4.1.1自动代码提示
先去下载最新版的spket的安装包
假设是放在d盘
同样假设你的Myeclipse是最新版的10.5的
开始-&cmd-&d:-&java &jar spket-1.6.23.jar
就会打开一个安装界面
如果你现在的myeclipse是启动的,那么将它关闭,重启,以便对其初始化
刚启动的时候有点慢,我的等了有3分钟
这是一种方式,还有一种方式
选择MyEclipse
Configuration Center
在弹出窗里,选择Add from local
Folder,在本地选择你解压后的spket文件夹,选到spket.1.6.23这一层即可,如下图:
然后点击ok.
只选择前两项即可,右击spket
IDE选择add profile,t同理选择Spket Text Editor.当这两项添加完以后会在pending changes
选项里提示有2个项目需要change.
那么点击运行即可
1.重启Myeclipse,在菜单栏进行Window & Preferences.
会在右侧出现spket的选项
Spket & JavaScript
Profile,会出现如下界面
6.点击new,输入名称Ext4作为新文件的名字
7.选中Ext4,点击右侧的按钮add library在下拉列表里选中ExtJs
8.选中ExtJs,点击右侧按钮add file,在下载的ExtJs包里的build文件夹中找到sdk.jsb3导入
9.选中Ext4,点击右侧的default按钮,接下来点击ok,那么spket就配置成功了,怎么样很简单吧?
接下来在项目里新建一个js文件,右击js文件,选择open with & spket javascript
Editor,在js里按alt+/,试试看吧!
注意:如果您的open
下没有spket javascript
Editor,那么你需要去Window & Preferences下的窗口给*.js添加默认编辑器spket javascript Editor。如图
新建一个js文件
右键Open With-&Spket
JavaScript Editor
然后,按 alt+/
试一下,是不是已经出提示了?
好了,不管用哪种方法,我们终于都弄完了,是不是大功告成了呢?
如果你写Ext.onReady都不出提示,肿么个情况?
假设你用的是Ext4.1.1,那么你
仔细看看会发现里面很多的错误,(真心鄙视一下Ext的开发人员,都不知道他们肿么心思的)
这个文件正是我们需要智能提示的清单文件,这个错了,能出提示才见鬼呢
在这里我们就不讲如何改jsb3文件了,我直接发给大家一个,你们注意将他放在从官网下载下来的,解压出来的ext的根目录,而不是我一开始说的那个build文件夹里,注意
或者,直接去
,下载我已经改好了jsb3文件的ext4.1.1的官方包,解压到本地路径下
把ext的提示文件换成这个sdk.jsb3文件,所有勾都可以打上。然后打开一个新的JS文件,输入以下代码(为了试验代码是否有自动提示,建议手打)
输入E按一下alt+/就会出现Ext了
你会发现Ext.onReady
和 Ext.create
都有提示了。而 Ext.data.Model
你可以先输入再加引号,那样也有提示了,顺带一提,属性名 field
也是有提示的。如果你不确定自己输入的属性名对不对,可以在加了引号之后按住ctrl键鼠标移到最后一级名字那里看看(例如Ext.data.Model中的Model)看是不是变色并且有下划线了,如果有就代表有这个类。你也可以在按住ctrl的情况下按一下鼠标跳到这个类的js文件那里。
如果还是不好使,给我留言,详细说明一下
如果想让他自动出提示,则导入我写的all.epf文件
File-&Import-&General-&
All.epf文件是java代码和js代码都自动提示
如果不想java代码自动提示那么就导入JS.epf
如果不想js代码自动提示那么就导入Java.epf
如果都不想自动提示,那么,就导入None.epf
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(2317)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'extjs 3.4 开发前准备',
blogAbstract:'最近有时间要好好研究一下extjs 代码, 上了一个extjs的官网, 发现版本更新的特别快, 2012年7月已经发布4.1版本了....因为以前弄过3.x版本, 所以对extjs还是有一定的熟悉程度;& extjs相关联的技术也是比较熟悉的, 所以特决定: 把extjs3.4的开发前的准备这篇文章写好以后, 好好研究下4.1版本, 后续会写很多观看的感受和例子实现的文章, 详见后续动作 ;下面就开始我的ExtJS学习之路吧……1. extjs的下载:4.1 版本: /products/extjs/download/ext-js-4.1.1/16833.4 版本:/products/extjs3/download/ext-js-3.4.0/203',
blogTag:'extjs',
blogUrl:'blog/static/1',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:3,
permalink:'blog/static/1',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}>> 对 Extjs4 DBExplorer
对 Extjs4 DBExplorer
下载地址:
DBExplorer_0.2-src.zip文件大小:10.50 MB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
应用程序来管理 web 上的数据由 extjs 和 springframework1.java 1.5 +2.Extj 3 +4.jdbc
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
1.14 kB 16:29
174.00 B 16:29
5.69 kB 16:53
2.48 kB 16:34
1.07 kB 16:34
2.17 kB 16:12
9.70 kB 15:57
1.01 kB 16:49
4.19 kB 11:13
3.26 kB 11:20
847.00 B 16:49
7.83 kB 09:59
7.87 kB 10:21
1.46 kB 15:32
1.17 kB 16:14
8.04 kB 15:16
4.41 kB 13:36
5.92 kB 14:23
6.15 kB 16:12
2.93 kB 17:15
1.10 kB 16:36
395.00 B 16:36
1.49 kB 15:53
1.27 kB 16:36
816.00 B 16:16
1,012.00 B 13:38
1.29 kB 09:55
902.00 B 11:41
1.57 kB 16:36
2.78 kB 14:35
590.00 B 15:56
6.56 kB 14:36
503.00 B 16:53
920.00 B 15:28
1.00 kB 15:29
3.12 kB 16:56
4.76 kB 14:38
11.29 kB 11:03
3.13 kB 16:53
1.23 kB 16:12
2.08 kB 16:53
1.01 kB 15:28
1.53 kB 16:12
3.31 kB 16:53
1.93 kB 15:32
2.18 kB 16:53
1.04 kB 13:25
2.79 kB 17:49
1.59 kB 16:29
466.00 B 16:29
3.86 kB 09:25
1.39 kB 16:28
5.49 kB 16:19
949.00 B 16:24
3.44 kB 16:27
653.00 B 16:25
2.85 kB 10:15
1.16 kB 16:24
3.26 kB 15:27
1.12 kB 16:24
9.37 kB 16:12
6.98 kB 10:43
4.67 kB 14:19
19.36 kB 16:20
1.36 kB 17:11
log4j.properties875.00 B 17:06
MANIFEST.MF39.00 B 15:57
563.00 B 19:06
commons-beanutils.jar184.25 kB 16:20
commons-codec.jar45.63 kB 16:20
commons-collections.jar557.87 kB 16:20
commons-fileupload.jar51.84 kB 16:20
commons-io-1.3.1.jar81.65 kB 16:20
commons-lang-2.3.jar239.53 kB 16:20
commons-logging.jar51.67 kB 16:20
derby.jar2.33 MB 16:28
derbynet.jar224.77 kB 16:28
dom4j-1.6.1.jar306.54 kB 16:20
ezmorph-1.0.4.jar84.36 kB 16:20
iText-2.1.2u.jar1.01 MB 16:20
iTextAsian.jar320.32 kB 16:20
iTextAsianCmaps.jar1.62 MB 16:20
json-lib-2.2.1-jdk15.jar136.78 kB 16:20
log4j-1.2.14.jar358.83 kB 16:20
spring-aop.jar315.71 kB 16:20
spring-beans.jar456.38 kB 16:20
spring-context-support.jar90.74 kB 16:20
spring-context.jar444.49 kB 16:20
spring-core.jar268.63 kB 16:20
spring-jdbc.jar301.19 kB 16:20
spring-orm.jar356.47 kB 16:20
spring-tx.jar216.28 kB 16:20
spring-web.jar177.31 kB 16:20
spring-webmvc.jar376.78 kB 16:20
1,011.00 B 09:26
1.10 kB 13:28
system.config.properties113.00 B 15:22
1.80 kB 15:59
1.75 kB 12:52
3.94 kB 15:27
3.90 kB 16:21
3.75 kB 15:18
116.00 B 09:35
2.76 kB 14:50
5.14 kB 10:37
2.75 kB 11:02
2.12 kB 09:59
6.79 kB 16:25
8.32 kB 15:46
4.72 kB 10:31
3.77 kB 10:59
969.00 B 16:31
1.52 kB 11:47
5.64 kB 15:56
1.34 kB 12:03
accept.png781.00 B 16:14
add.png733.00 B 15:18
attribute.png778.00 B 14:42
cancel.png587.00 B 16:14
config.png512.00 B 12:36
copy.gif160.00 B 10:02
database.png390.00 B 15:38
delete.png715.00 B 15:49
export.png683.00 B 10:53
field.png153.00 B 22:52
field_key.png455.00 B 22:28
field_link.png343.00 B 21:54
field_null.png2.54 kB 11:09
menus.gif917.00 B 12:49
openfile.gif610.00 B 16:20
query.gif190.00 B 13:54
refresh.png685.00 B 15:53
run.gif122.00 B 15:42
run_file.png839.00 B 12:02
save.gif1,014.00 B 16:00
schema.png452.00 B 21:08
table.png566.00 B 15:38
table_add.png663.00 B 16:30
table_delete.png660.00 B 10:55
type.png533.00 B 15:38
unkonwType.png11.82 kB 14:31
6.60 kB 16:18
3.86 kB 15:36
4.83 kB 16:01
1.36 kB 16:46
3.40 kB 16:22
4.00 kB 16:18
1.66 kB 12:03
1.52 kB 16:19
988.00 B 12:56
1.78 kB 13:56
5.92 kB 13:55
4.95 kB 10:09
3.77 kB 13:50
1.45 kB 14:59
2.67 kB 17:25
1.31 kB 13:29
2.10 kB 09:25
1.19 kB 13:46
8.91 kB 15:15
1.40 kB 13:46
1.03 kB 09:26
526.32 kB 11:27
35.01 kB 11:27
4.31 kB 11:28
1.40 kB 14:29
_clipboard.swf109.00 B 13:46
119.00 B 09:08
1.19 kB 09:08
2.51 kB 09:08
3.81 kB 09:08
1.23 kB 09:08
5.79 kB 09:08
5.47 kB 09:08
1.54 kB 09:08
862.00 B 09:08
1.71 kB 09:08
1.72 kB 09:08
80.67 kB 09:08
555.00 B 09:38
11.69 kB 09:08
12.77 kB 09:08
5.15 kB 09:08
2.87 kB 09:08
7.98 kB 09:08
939.00 B 09:08
3.43 kB 09:08
471.00 B 09:08
471.00 B 09:08
3.51 kB 09:08
2.17 kB 09:08
7.42 kB 09:08
5.00 kB 09:08
6.70 kB 09:08
4.36 kB 09:08
9.44 kB 09:08
corners-blue.gif1,010.00 B 09:08
corners.gif1,005.00 B 09:08
l-blue.gif810.00 B 09:08
l.gif810.00 B 09:08
r-blue.gif810.00 B 09:08
r.gif810.00 B 09:08
tb-blue.gif851.00 B 09:08
tb.gif839.00 B 09:08
btn-arrow.gif870.00 B 09:08
btn-sprite.gif1.31 kB 09:08
drop-add.gif1,001.00 B 09:08
drop-no.gif949.00 B 09:08
drop-yes.gif1,016.00 B 09:08
tb-sprite.gif2.02 kB 09:08
checkbox.gif2.01 kB 09:08
clear-trigger.gif1.94 kB 09:08
date-trigger.gif1.57 kB 09:08
error-tip-corners.gif4.08 kB 09:08
exclamation.gif996.00 B 09:08
radio.gif1.71 kB 09:08
search-trigger.gif2.13 kB 09:08
text-bg.gif819.00 B 09:08
trigger-tpl.gif1.45 kB 09:08
trigger.gif1.77 kB 09:08
gradient-bg.gif1.44 kB 09:08
arrow-left-white.gif825.00 B 09:08
arrow-right-white.gif825.00 B 09:08
col-move-bottom.gif868.00 B 09:08
col-move-top.gif869.00 B 09:08
columns.gif962.00 B 09:08
dirty.gif832.00 B 09:08
done.gif133.00 B 09:08
drop-no.gif947.00 B 09:08
drop-yes.gif860.00 B 09:08
footer-bg.gif834.00 B 09:08
grid-blue-hd.gif829.00 B 09:08
grid-blue-split.gif817.00 B 09:08
grid-hrow.gif855.00 B 09:08
grid-loading.gif701.00 B 09:08
grid-split.gif817.00 B 09:08
grid-vista-hd.gif829.00 B 09:08
grid3-hd-btn.gif1.20 kB 09:08
grid3-hrow-over.gif823.00 B 09:08
grid3-hrow.gif836.00 B 09:08
grid3-special-col-bg.gif837.00 B 09:08
grid3-special-col-sel-bg.gif843.00 B 09:08
group-by.gif917.00 B 09:08
group-expand-sprite.gif955.00 B 09:08
hd-pop.gif839.00 B 09:08
hmenu-asc.gif931.00 B 09:08
hmenu-desc.gif930.00 B 09:08
hmenu-lock.gif955.00 B 09:08
hmenu-lock.png648.00 B 09:08
hmenu-unlock.gif971.00 B 09:08
hmenu-unlock.png697.00 B 09:08
invalid_line.gif815.00 B 09:08
loading.gif771.00 B 09:08
mso-hd.gif875.00 B 09:08
nowait.gif884.00 B 09:08
page-first-disabled.gif925.00 B 09:08
page-first.gif925.00 B 09:08
page-last-disabled.gif923.00 B 09:08
page-last.gif923.00 B 09:08
page-next-disabled.gif875.00 B 09:08
page-next.gif875.00 B 09:08
page-prev-disabled.gif879.00 B 09:08
page-prev.gif879.00 B 09:08
pick-button.gif1.01 kB 09:08
refresh.gif977.00 B 09:08
row-check-sprite.gif1.06 kB 09:08
row-expand-sprite.gif955.00 B 09:08
row-over.gif823.00 B 09:08
row-sel.gif823.00 B 09:08
sort_asc.gif830.00 B 09:08
sort_desc.gif833.00 B 09:08
wait.gif1.07 kB 09:08
collapse.gif842.00 B 09:08
expand.gif842.00 B 09:08
gradient-bg.gif1.44 kB 09:08
mini-bottom.gif856.00 B 09:08
mini-left.gif871.00 B 09:08
mini-right.gif872.00 B 09:08
mini-top.gif856.00 B 09:08
ns-collapse.gif842.00 B 09:08
ns-expand.gif843.00 B 09:08
panel-close.gif829.00 B 09:08
panel-title-bg.gif838.00 B 09:08
panel-title-light-bg.gif835.00 B 09:08
stick.gif874.00 B 09:08
stuck.gif92.00 B 09:08
tab-close-on.gif880.00 B 09:08
tab-close.gif859.00 B 09:08
checked.gif959.00 B 09:08
group-checked.gif891.00 B 09:08
item-over.gif820.00 B 09:08
menu-parent.gif854.00 B 09:08
menu.gif834.00 B 09:08
unchecked.gif941.00 B 09:08
corners-sprite.gif1.38 kB 09:08
left-right.gif815.00 B 09:08
light-hd.gif827.00 B 09:08
tool-sprite-tpl.gif971.00 B 09:08
tool-sprites.gif4.06 kB 09:08
tools-sprites-trans.gif2.58 kB 09:08
top-bottom.gif875.00 B 09:08
top-bottom.png218.00 B 09:08
white-corners-sprite.gif1.33 kB 09:08
white-left-right.gif815.00 B 09:08
white-top-bottom.gif872.00 B 09:08
progress-bg.gif834.00 B 09:08
bg.gif1.07 kB 09:08
close.gif972.00 B 09:08
tip-sprite.gif4.17 kB 09:08
s.gif43.00 B 09:08
shadow-c.png118.00 B 09:08
shadow-lr.png135.00 B 09:08
shadow.png311.00 B 09:08
blue-loading.gif3.16 kB 09:08
calendar.gif979.00 B 09:08
glass-bg.gif873.00 B 09:08
hd-sprite.gif1.07 kB 09:08
large-loading.gif3.16 kB 09:08
left-btn.gif870.00 B 09:08
loading-balls.gif2.07 kB 09:08
right-btn.gif871.00 B 09:08
warning.gif960.00 B 09:08
e-handle-dark.gif1.04 kB 09:08
e-handle.gif1.55 kB 09:08
ne-handle-dark.gif839.00 B 09:08
ne-handle.gif854.00 B 09:08
nw-handle-dark.gif839.00 B 09:08
nw-handle.gif853.00 B 09:08
s-handle-dark.gif1.04 kB 09:08
s-handle.gif1.29 kB 09:08
se-handle-dark.gif838.00 B 09:08
se-handle.gif853.00 B 09:08
square.gif864.00 B 09:08
sw-handle-dark.gif839.00 B 09:08
sw-handle.gif855.00 B 09:08
slider-bg.png300.00 B 09:08
slider-thumb.png933.00 B 09:08
slider-v-bg.png288.00 B 09:08
slider-v-thumb.png883.00 B 09:08
scroll-left.gif1.26 kB 09:08
scroll-right.gif1.27 kB 09:08
scroller-bg.gif1.07 kB 09:08
tab-btm-inactive-left-bg.gif886.00 B 09:08
tab-btm-inactive-right-bg.gif1.35 kB 09:08
tab-btm-left-bg.gif863.00 B 09:08
tab-btm-right-bg.gif1.37 kB 09:08
tab-close.gif896.00 B 09:08
tab-strip-bg.gif835.00 B 09:08
tab-strip-bg.png259.00 B 09:08
tab-strip-btm-bg.gif826.00 B 09:08
tabs-sprite.gif2.07 kB 09:08
bg.gif904.00 B 09:08
btn-arrow-light.gif916.00 B 09:08
btn-arrow.gif919.00 B 09:08
btn-over-bg.gif837.00 B 09:08
gray-bg.gif832.00 B 09:08
tb-bg.gif862.00 B 09:08
tb-btn-sprite.gif1.10 kB 09:08
arrows.gif1.00 kB 09:08
drop-add.gif1,001.00 B 09:08
drop-between.gif907.00 B 09:08
drop-no.gif949.00 B 09:08
drop-over.gif911.00 B 09:08
drop-under.gif911.00 B 09:08
drop-yes.gif1,016.00 B 09:08
elbow-end-minus-nl.gif898.00 B 09:08
elbow-end-minus.gif905.00 B 09:08
elbow-end-plus-nl.gif900.00 B 09:08
elbow-end-plus.gif907.00 B 09:08
elbow-end.gif844.00 B 09:08
elbow-line.gif846.00 B 09:08
elbow-minus-nl.gif898.00 B 09:08
elbow-minus.gif908.00 B 09:08
elbow-plus-nl.gif900.00 B 09:08
elbow-plus.gif910.00 B 09:08
elbow.gif850.00 B 09:08
folder-open.gif956.00 B 09:08
folder.gif952.00 B 09:08
leaf.gif945.00 B 09:08
loading.gif771.00 B 09:08
s.gif43.00 B 09:08
icon-error.gif1.63 kB 09:08
icon-info.gif1.55 kB 09:08
icon-question.gif1.57 kB 09:08
icon-warning.gif1.45 kB 09:08
left-corners.png272.00 B 09:08
left-right.png135.00 B 09:08
right-corners.png340.00 B 09:08
top-bottom.png211.00 B 09:08
btn-arrow.gif870.00 B 09:08
btn-sprite.gif1.19 kB 09:08
gradient-bg.gif1.44 kB 09:08
corners-sprite.gif1.37 kB 09:08
left-right.gif815.00 B 09:08
light-hd.gif827.00 B 09:08
tool-sprite-tpl.gif971.00 B 09:08
tool-sprites.gif4.36 kB 09:08
tools-sprites-trans.gif2.58 kB 09:08
top-bottom.gif871.00 B 09:08
top-bottom.png218.00 B 09:08
white-corners-sprite.gif1.33 kB 09:08
white-left-right.gif815.00 B 09:08
white-top-bottom.gif868.00 B 09:08
bg.gif1.00 kB 09:08
close.gif972.00 B 09:08
tip-sprite.gif3.94 kB 09:08
s.gif43.00 B 09:08
scroll-left.gif1.23 kB 09:08
scroll-right.gif1.24 kB 09:08
scroller-bg.gif1.06 kB 09:08
tab-btm-inactive-left-bg.gif881.00 B 09:08
tab-btm-inactive-right-bg.gif1.35 kB 09:08
tab-btm-left-bg.gif863.00 B 09:08
tab-btm-right-bg.gif1.37 kB 09:08
tab-close.gif896.00 B 09:08
tab-strip-bg.gif835.00 B 09:08
tab-strip-bg.png259.00 B 09:08
tab-strip-btm-bg.gif826.00 B 09:08
tabs-sprite.gif2.06 kB 09:08
bg.gif854.00 B 09:08
btn-arrow-light.gif916.00 B 09:08
btn-arrow.gif919.00 B 09:08
btn-over-bg.gif837.00 B 09:08
gray-bg.gif832.00 B 09:08
tb-bg.gif862.00 B 09:08
tb-btn-sprite.gif1,021.00 B 09:08
icon-error.gif1.63 kB 09:08
icon-info.gif1.55 kB 09:08
icon-question.gif1.57 kB 09:08
icon-warning.gif1.45 kB 09:08
left-corners.png325.00 B 09:08
left-corners.pspimage4.28 kB 09:08
left-right.png2.75 kB 09:08
right-corners.png344.00 B 09:08
top-bottom.png2.79 kB 09:08
bg-center.gif865.00 B 09:08
bg-left.gif1.01 kB 09:08
bg-right.gif1.01 kB 09:08
close.gif350.00 B 09:08
collapse.gif333.00 B 09:08
dlg-bg.gif27.20 kB 09:08
e-handle.gif995.00 B 09:08
expand.gif351.00 B 09:08
hd-sprite.gif462.00 B 09:08
s-handle.gif992.00 B 09:08
se-handle.gif833.00 B 09:08
w-handle.gif817.00 B 09:08
gradient-bg.gif1.44 kB 09:08
grid-split.gif817.00 B 09:08
grid-vista-hd.gif829.00 B 09:08
collapse.gif842.00 B 09:08
expand.gif842.00 B 09:08
gradient-bg.gif1.17 kB 09:08
ns-collapse.gif842.00 B 09:08
ns-expand.gif843.00 B 09:08
panel-close.gif829.00 B 09:08
panel-title-bg.gif888.00 B 09:08
panel-title-light-bg.gif846.00 B 09:08
stick.gif872.00 B 09:08
tab-close-on.gif880.00 B 09:08
tab-close.gif844.00 B 09:08
bg.gif1.00 kB 09:08
tip-sprite.gif4.08 kB 09:08
s.gif43.00 B 09:08
e-handle-dark.gif1.04 kB 09:08
e-handle.gif1.55 kB 09:08
ne-handle-dark.gif839.00 B 09:08
ne-handle.gif854.00 B 09:08
nw-handle-dark.gif839.00 B 09:08
nw-handle.gif853.00 B 09:08
s-handle-dark.gif1.04 kB 09:08
s-handle.gif1.29 kB 09:08
se-handle-dark.gif838.00 B 09:08
se-handle.gif853.00 B 09:08
sw-handle-dark.gif839.00 B 09:08
sw-handle.gif855.00 B 09:08
tab-btm-inactive-left-bg.gif879.00 B 09:08
tab-btm-inactive-right-bg.gif1.57 kB 09:08
tab-btm-left-bg.gif895.00 B 09:08
tab-btm-right-bg.gif1.57 kB 09:08
tab-sprite.gif3.08 kB 09:08
gray-bg.gif839.00 B 09:08
tb-btn-sprite.gif1.08 kB 09:08
403.00 B 16:10
9.59 kB 14:19
1.55 kB 16:37
playerProductInstall.swf657.00 B 14:19
11.69 kB 16:04
starter.mxml1.74 kB 16:48
starter.swf251.60 kB 16:08
28.28 kB 08:44
swfupload_f8.swf7.65 kB 08:46
swfupload_f9.swf9.28 kB 08:55
1.09 kB 15:27
2.05 kB 15:45
3.73 kB 14:52
882.00 B 14:53
978.00 B 14:56
1.76 kB 14:55
970.00 B 13:22
743.00 B 11:17
1.59 kB 16:03
1.07 kB 12:47
1.24 kB 15:47
1.72 kB 15:16
1.84 kB 12:46
948.00 B 14:51
3.84 kB 14:51
883.00 B 10:47
527.00 B 11:33
ant.properties690.00 B 11:57
4.19 kB 14:17
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
23 篇源代码 21 篇源代码 18 篇源代码 13 篇源代码 9 篇源代码
285 篇源代码 173 篇源代码 48 篇源代码 42 篇源代码 36 篇源代码
评价成功,多谢!
下载DBExplorer_0.2-src.zip
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足
支付宝优惠套餐快速获取 22 积分
10积分 / ¥100
22积分 / ¥200原价 ¥220 元
65积分 / ¥500原价 ¥650 元
支付宝订单完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-2
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧个人还比较满意的一段代码:EXTJS排序树,只访问一次数据库即可得到整个树结构 -
- ITeye技术网站
项目有个需求需要写个类似 windows资源管理器的树结构。
一开始想偷懒到网上随便找段代码,可是找下来看了半天还没看懂。要是去一行一行的读源码去理解的话,就违背了偷懒的初衷,而且估计都满足不了需求~~于是DIY一个。
需求:
1)减轻数据库压力,访问一次数据库(只执行一条select * from 表名)便要读出所有树结构;
2)排序,目录要优先于结点显示在树形结构中,同级同种结点排序按填入的排序号大小来排序
3)有个界面可以随时增加、编辑、删除树的结点或目录。
于是花了一天时间把这个搞定了~~自我感觉还比较满意,因此把关键的代码贴上来共享下,有兴趣有经验的朋友请多教。
效果如下:
环境:webwork/spring/hibernate/extjs-json-tree
数据库表:
mid number &&&&&&&& Not null 目录id,编号,唯一
mname varchar2(30) Not null 目录名
pid number&&&
Not null 父目录id,顶级目录默认为0
pname String(30) 父目录名称
mtype char
是目录还是结点,'dir' or 'rpt'
leveidx number&&&
同级目录中的排列顺序
state String(10) (一个业务字段,无关紧要)
reptid String(30) (一个业务字段,无关紧要)
bz String(100) (一个业务字段,无关紧要)
HibernateSynchronizer生成hbm.xml、DAO、pojo
web.xml中增加spring监听器将DAO自动注入至webwork的action
“界面可以随时增加、编辑、删除树的结点或目录”。就是一个普通的crud操作,地球人都会写,代码忽略。
EXTJS呈现,代码很短,就是请求一个action,返回一串json并解析该JSON为一棵树,不是关键,可以忽略。也将代码贴出来吧,AJAX请求的地址是sysrMenutreeAction!gettree.action
Ext.onReady(function(){
var loader = new Ext.tree.TreeLoader({url:"sysrMenutreeAction!gettree.action"});
loader.processResponse = function(response, node, callback){
var json = response.responseT
var json = eval("(" + json + ")");
node.beginUpdate();
var o = json["key"];
for(var i=0, len=o. i& i++){
var n = this.createNode(o[i]);
node.appendChild(n);
node.endUpdate();
if(typeof callback == "function"){
callback(this,node);
}catch(e){
this.handleFailure(response);
var tree = new Ext.tree.TreePanel({
el : 'tree',
loader : loader,
border :false
var root = new Ext.tree.AsyncTreeNode({
text : "根结点"
tree.setRootNode(root);
tree.on("click", function(node){
top.mainFrame.location = "sysrMenutreeAction!getnode.action?node=" + node.
//在主frame中显示结点的具体信息
tree.render();
上面请求的sysrMenutreeAction!gettree.action,在对应的action中对应的gettree()方法如下:
public String gettree() {
List&SysrMenutree& list = sysrMenutreeDAO.getSession()
.createQuery("from SysrMenutree ").list();
//执行查询,取得所有记录
Map&Integer, SysrMenutree& map = new HashMap&Integer, SysrMenutree&();
SysrMenutree root =
for (SysrMenutree treeNode : list) { //第一次循环,将结果集放到一个"Map键-值对"结构中,方便取出指定元素
map.put(treeNode.getId(), treeNode);
if(treeNode.getPid() == 0){
root = treeN
第二次循环所有结点,将每个结点的子结点存入一个TreeSet中。
使用TreeSet比较关键,我的排序的代码全写在这个TreeSet的Comparator中,见下文
for(SysrMenutree treeNode : list){
if(treeNode.getPid() != 0){
map.get(treeNode.getPid()).addChild(treeNode);
System.out.println(root.toJsonString());
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("application/x-charset=utf-8");
PrintWriter out = response.getWriter();
if(root != null){
out.write("{key:[" + root.toJsonString() + "]}");
//向客户端写json。递归方法toJsonString()
out.flush();
} catch (IOException e) {
e.printStackTrace();
return NONE;
关键的代码在pojo对象SysrMenutree中。如下:
public class SysrMenutree
implements Comparable&SysrMenutree& {
//实现了Comparable接口
省略pojo属性以及对应的getter/setter
private Set&SysrMenutree& children = new TreeSet&SysrMenutree&(
new Comparator&SysrMenutree&() {
//匿名内部类实现Comparator接口
public int compare(SysrMenutree o1, SysrMenutree o2) {
return -o1.compareTo(o2);
public void addChild(SysrMenutree node) {
children.add(node);
public String toJsonString() {
StringBuffer buf = new StringBuffer();
buf.append("{ id : " + getId() + ", text : '" + this.getMname()
if (children.size() & 0) {
buf.append("children : [");
for (SysrMenutree node : children) {
buf.append(node.toJsonString() + ","); //对子结点递归
buf.deleteCharAt(buf.length() - 1);
buf.append("]}");
如果不定义leaf=true,EXTJS就认为那是一个目录并以文件夹的图标显示。
但是如果没子结点,则会进入一个死循环。
因此在这里做特殊处理:
如果没有子结点,就设置leaf为true,但对数据库中标识为"dir"目录的结点,就指定显示图标为文件夹。
if (this.getMtype().equals("dir")) {
buf.append("icon : 'folder.gif', ");
buf.append("leaf : true }");
return buf.toString();
public int compareTo(SysrMenutree o) {
//Comparable接口具体实现
if (getMtype().equals(o.getMtype())) {
return this.getLeveidx() & o.getLeveidx() ? 1
: (this.getLeveidx() == o.getLeveidx() ? 0 : -1);
} else if (getMtype().equals("dir")) {
return -1;
论坛回复 /
(8 / 5990)
还不错哦。。不过一般都是大树
希望动态地去读取
动态的读取,对EXTJS来说更方便一些,只要加上一个异步请求就可以了,就没这么多代码没这么复杂了
我一开始也是想要动态读取,后来领导要求少访问数据库,只好一次加载出来
toJsonString()不严谨,没考虑this.getMname()带',",\n等其他字符情况。
在结点名字入库前就做了相应的过滤处理了,因此不存在带特殊字符的情况
浏览: 30108 次
来自: 火星
不错,学习啦
&这个url不应该是网站的domain,而应该是网站 ...
呵呵,现在我也走上了这条不归路了,和你差不多java出身,刚接 ...
不错,有点想法
好文,要顶下的。}

我要回帖

更多关于 extjs管理系统源代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信