日期:2014-05-17  浏览次数:20613 次

刚刚想起了一个问题,思来想去还是没想明白,求大神解释
突然觉得Struts里面的Action做增删改,好像用Ajax也能实现噢,我说的是同一个页面,不跳转页面的那种,比如:我现在有个功能是增加一个会员,填写一些会员需要的信息后,然后使用访问某个action然后在service中保存用户,将添加结果写入request,返回到添加会员的页面,然后写一个jsload时间,判断某个值是否为空如果为空则不提示,如果不是则提示出来。但是yongAjax做的话就相当简单了,很简单就搞定了,那有这么复杂,这种情况下是用Ajax还是Struts来做的好?

求指教啊。

------解决方案--------------------
AJAX跟STRUTS是从根本上就不同的两个东西。为何要把他们混为一谈?
首先ajax是属于前台部分的框架。你可以通过ajax来更好的实现用户的页面感官。不用整体刷新页面。
而struts是属于后台框架的一种。他主要是采用mvc模式,可以更方便快捷的让开发人员适配jsp-action-data;方便与开发。

比如你现在前台通过ajax提交请求。那么你的请求还是会到达后台的某个对象,这个对象来处理你的请求。当然也可以是你使用struts框架的摸个action等等。当然只要你愿意也可以是servlet或者是jsp也都可以。更或者你都可以不用ajax,直接一个页面写完所有前台到后台的代码也都可以。所以ajax跟struts根本就没什么可比性。根本就不是同一层面的东西。
------解决方案--------------------
给你这么说吧,两种方式都可以完成你的功能,区别在于Ajax是异步的请求服务器获取数据,也就是说页面是不刷新的,由于Ajax只是获取少量数据而不像Struts刷新整个页面数据,所以使用Ajax会使程序效率更高,但是缺点就在于因为页面没有刷新,那么比如你增加或者修改后页面的信息需要你手动的使用JS来更新,这样就增加了很多代码量。

现在大部分网站都使用了Ajax技术,这样一来会使用户的感知度大大提升。打个比方:
一个看视频的页面,下面回复功能如果使用Struts跳转刷新页面,那么用户看到一半的视频又需要重头看起,而是用了Ajax只是动态的暂时将回复添加在回复区,页面没有跳转,不会影响用户观看视频的。

不知道我这样解释对你是否能起到帮助。