该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-11-15
可以很迅速的在非ajax的java项目上增加上ajax功能。 ajaxanywhere基本上不需要更改原有服务器端的代码 使用ajaxanywhere需要在jsp页面上使用它的tag定义出zone的区域,每一块zone,都是可以被动态更新的 比如 <aa:zone name="countriesList"> <select size="10" name="country" > <%@ include file="/locales_options_countries.jsp.jsp"%> </select> </aa:zone> ajaxanywhere还需要一个filter。在客户端通过js提交的url会被该filter截获,如果是普通的请求则直接放行,否则构造一个新的response传递给后续代码。这个 response中的outputstream不会被直接返回,而是当后续代码正常返回后,由filter抓取出zone中的html片断数据返回给浏览器,最后由js将html 作为 innerHTML更新到页面上对应的zone. 这种方式不需要开发者学习太多的js,平时开发时也是按照普通的页面流程开发.当需要ajax功能时,定义出zone区域,将请求由submit方法改为js调用就可以自动成为ajax. 从原理上看,filter的先后顺序非常重要,如果项目中还有sitemesh,那么需要将ajaxanywhere配置在前面,否则被 sitemesh一decorate,返回的数据就全歇了. btw,这套方法和 sitemesh由异曲同工之处,原先想自己做一套类似的,没想到已经有现成的了. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-11-16
吐血,又来一个framework,ajax怎么那么多实现,我们每天都在学习,为什么老是觉得永远学不完
|
|
返回顶楼 | |
发表时间:2005-11-16
大愚弱智 写道 吐血,又来一个framework,ajax怎么那么多实现,我们每天都在学习,为什么老是觉得永远学不完
比较看好这套实现。从我下载后学习demo算起,30分钟内就把一套struts程序中的一个页面改为ajax的。 |
|
返回顶楼 | |
发表时间:2005-11-18
为了兼容旧项目而实现ajax感觉有些做作.可web程序表现只能是ajax吗?这个判断肯定不对,可到底我们怎么面对ajax.
面对扑面而来的ajax,真希望哪位gao人来本<without ajax>. dlee不如来试试. 谁读过ajax in action.来show下. |
|
返回顶楼 | |
发表时间:2005-11-18
zkj_beyond 写道 为了兼容旧项目而实现ajax感觉有些做作.可web程序表现只能是ajax吗?这个判断肯定不对,可到底我们怎么面对ajax.
面对扑面而来的ajax,真希望哪位gao人来本<without ajax>. dlee不如来试试. 谁读过ajax in action.来show下. Ajax in Action 我只看过一点,没时间看,觉得DWR不错,In Action 好像是拿.NET来讲解的,看不懂VS.NET的代码,也不想看。 |
|
返回顶楼 | |
发表时间:2005-11-19
大愚弱智 写道 zkj_beyond 写道 为了兼容旧项目而实现ajax感觉有些做作.可web程序表现只能是ajax吗?这个判断肯定不对,可到底我们怎么面对ajax.
面对扑面而来的ajax,真希望哪位gao人来本<without ajax>. dlee不如来试试. 谁读过ajax in action.来show下. Ajax in Action 我只看过一点,没时间看,觉得DWR不错,In Action 好像是拿.NET来讲解的,看不懂VS.NET的代码,也不想看。 Ajax in Action 书还是不错的,后台不光用了VS.NET,也有 php 和 java, 这些后台的技术其实对于 Ajax 的理解不重要,因为它们的主要工作就是构造返回的xml数据而已,而用各种后台技术配合examle 正说明了 Ajax 是一个client端的技术,与后台没有依赖性。 |
|
返回顶楼 | |
发表时间:2005-11-19
zkj_beyond 写道 为了兼容旧项目而实现ajax感觉有些做作.可web程序表现只能是ajax吗?这个判断肯定不对,可到底我们怎么面对ajax.
面对扑面而来的ajax,真希望哪位gao人来本<without ajax>. dlee不如来试试. 谁读过ajax in action.来show下. 很乐见without ajax的出来,我看用ajax的功能用iframe来实现也都可以嘛,不过没用过,不敢乱评论,有空再研究,呵呵。 |
|
返回顶楼 | |
发表时间:2005-11-23
lllyq 写道 zkj_beyond 写道 为了兼容旧项目而实现ajax感觉有些做作.可web程序表现只能是ajax吗?这个判断肯定不对,可到底我们怎么面对ajax.
面对扑面而来的ajax,真希望哪位gao人来本<without ajax>. dlee不如来试试. 谁读过ajax in action.来show下. 很乐见without ajax的出来,我看用ajax的功能用iframe来实现也都可以嘛,不过没用过,不敢乱评论,有空再研究,呵呵。 除了iframe,好像IEDownload也可以做类似的事情吧,所以ajax不一定是唯一的选择。 ajax的出现带来的最大功效通过避免页面全部刷新而提高用户的良好UI体验,就技术来说,并不是新鲜的;底层的实现也是没有摆脱http的无状态,所以当看见更多的人对ajax顶礼膜拜的时候,我真的是有点糊涂了…… |
|
返回顶楼 | |
发表时间:2005-11-23
pikachu 写道 ajaxanywhere http://ajaxanywhere.sourceforge.net/.
可以很迅速的在非ajax的java项目上增加上ajax功能。 ajaxanywhere基本上不需要更改原有服务器端的代码 使用ajaxanywhere需要在jsp页面上使用它的tag定义出zone的区域,每一块zone,都是可以被动态更新的 比如 <aa:zone name="countriesList"> <select size="10" name="country" > <%@ include file="/locales_options_countries.jsp.jsp"%> </select> </aa:zone> ajaxanywhere还需要一个filter。在客户端通过js提交的url会被该filter截获,如果是普通的请求则直接放行,否则构造一个新的response传递给后续代码。这个 response中的outputstream不会被直接返回,而是当后续代码正常返回后,由filter抓取出zone中的html片断数据返回给浏览器,最后由js将html 作为 innerHTML更新到页面上对应的zone. 这种方式不需要开发者学习太多的js,平时开发时也是按照普通的页面流程开发.当需要ajax功能时,定义出zone区域,将请求由submit方法改为js调用就可以自动成为ajax. 从原理上看,filter的先后顺序非常重要,如果项目中还有sitemesh,那么需要将ajaxanywhere配置在前面,否则被 sitemesh一decorate,返回的数据就全歇了. btw,这套方法和 sitemesh由异曲同工之处,原先想自己做一套类似的,没想到已经有现成的了. 由于生性愚钝,对于Ajaxanywhere如何的工作机制还是不甚明了。我下载了它的demo.war,但是对于其实现的原理及流程看不清楚,专家能不能给解释一下呢? |
|
返回顶楼 | |
发表时间:2005-11-23
难道ajaxanywhere的诞生专门是为了对既有代码进行ajax优化?
|
|
返回顶楼 | |