他们的机制好像不太一样,使用了struts里面的类在返回时好像一定要刷行页面,而是用ajax他是不刷新页面的,前两天写过一个小程序想着试验一下struts和ajax相结合,但是我个人发现好像他们两个结合有问题,ajax和一般的servlet结合好像就不存在这个问题,因为在使用servlet时一般的返回信息都是我们自己写的,而使用struts我们只是改变form里面的数值,然后刷新整个页面

解决方案 »

  1.   

    你说的>>>“struts和ajax相结合,但是我个人发现好像他们两个结合有问题”<<<
    你说的结合有问题,是什么问题呢?
    我在使用struts(只用action,form是一个空的摆设,不用它来取数据)+Ajax的时候,除了不采用request.getReader()方法来从Ajax封装xml里面得到参数外,只通过request.getParameter()来得到参数然后返回xml封装的数据,没有碰到其他问题
      

  2.   

    struts和ajax相结合 应该没有问题的。
    既然在servlet中用request.getReader().readLine()没有问题,楼主应该检查下request传到action的时候会不会被解析过了?
    另外问楼主一小下,你用action返回数据的时候是用的response.getWriter().println()
    然后return null    还是专门写一个页面存放xml 然后再返回指向那个页面的forward呢?
      

  3.   

    >>>lun_ne
    你说的“楼主应该检查下request传到action的时候会不会被解析过了?”
    我已经在怀疑了,因为,传说中request.getReader()一旦被调用过,就不能再次调用了,这个方法只能调用一次
    还有你提的“另外问楼主一小下,你用action返回数据的时候是用的response.getWriter().println()然后return null    还是专门写一个页面存放xml 然后再返回指向那个页面的forward呢?”
    我是在response中封装xml数据之后,直接return null,不需要再写什么其它的了(呵呵,因为那样就成了画蛇添足了)
      

  4.   

    http://community.csdn.net/Expert/TopicView3.asp?id=5157092
    这个问题和你这个差不多
      

  5.   

    我看了一下struts的ActionServlet.java的源码,但是找不出在什么地方request.getReader()或者request.getInputStream()被调用过啊,谁能说说