1)目录结构
a)js部分
根目录下建立/js/ext/目录,存放所有和ext相关的js文件。/js/ext/目录下可建立ext相关子目录
/js/ext/adapter/ — 存放适配器jquery,prototype,yui。。。
/js/ext/experimental/ — 存放ext一些未正式推出的组件,可参考ext开发包examples例子部分。
/js/ext/plugins/ — 存放ext扩展组件,例如ext的patch文件,ext主题,扩展组建等等。
/js/ext/resources/ — 不用说了,ext开发包中的resources目录直接拷贝。
/js/ — 目录下可以放一些最常用 的js文件。
/js/ext/ — 目录下放置ext-all.js,ext-base.js,ext-lang-zh_CN.js,ext核心文件;
b)模块部分
根目录下建立/module/文件夹,每个模块在/module/目录下新建文件夹,例如:
/module/comment/ — 评论模块
/module/stat/ — 统计模块
每个模块目录下新建js目录存放当前模块需要引用的js文件,例如/module/comment/js/comment.js
为简化开发不使用struts,直接使用jsp代替struts;每个模块下新建action.jsp替代structs接受
ext ajax请求,action.jsp不负责页面的显示。只负责service层方法调用及请求跳转。
c)权限部分
根目录下直接建一个security目录完事。
2)基本布局及权限
border布局,center区域使用TabPanel组建增加新的iframe窗口装载系统不同模块。
暂不在意iframe的效率问题,尽可能做到每个系统模块+UI部分的独立。
初始化布局时TabPanel组件中添加默认的欢迎登录页面,解决TabPanel组件添加新窗口时高度增加的bug。
权限系统设计参考spring security建议的数据库设计,项目后期可与spring security整合。
3)用户访问超时
解决两种情况下的用户访问超时。
a)普通http请求的session超时。
b)异步http请求的session超时,使用ext后大部分的界面刷新都是异步的ajax请求。
不管是那种类型的http请求总是可以由一个过滤器来捕捉。
分类:普通http请求的header参数中没有x-requested-with:XMLHttpRequest头信息,而异步的有。
其实对于常见的ajax框架,header中还有标示自己身份的header信息。
对于普通的http请求,发现session超时后直接重定向到一个超时页面,显示访问超时。
对于异步http请求,发现session超时后则向请求的response中写入特定的超时头信息,客户端ajax对象检测
头信息,发现有超时状态标志后调用显示超时信息的javascript方法,提示用户访问超时。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21359667/viewspace-589018/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21359667/viewspace-589018/