如果在struts2中不用js框架,怎么在JS中得到responseText在用servlet时,一般在servlet中,out.print()输出,然后再JS中responseText()得到相应
在struts2中,类似的操作应该怎么做 ????

解决方案 »

  1.   

    为什么不用js?我们用的是prototype这个js框架,还有json实现的struts2和jsp的传输
      

  2.   

    不用JS框架时,标准的JS实现AJAX
      

  3.   

    给你发个json的例子,
    jsp页面代码:
    var oRequest;function createXMLHttpRequest() {
    if (window.ActiveXObject) {
    oRequest = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
    oRequest = new XMLHttpRequest();
    }
    }
    function changePoint() {
    var sUrl = "demo.action";
    var param = "id=" + 11;//要传入后台的值,在action中有id这个属性,这时候id的值就为11
    createXMLHttpRequest();
    oRequest.onreadystatechange = callback;//处理返回的方法。
    oRequest.open('POST', sUrl, true);
    oRequest.setRequestHeader("Content-Type",
    "application/x-www-form-urlencoded");
    oRequest.send(param);
    }
    function showTeacherInfo() {
    if (oRequest.readyState == 4) {
    if (oRequest.status == 200) {
                              var str = eval('(' + oRequest.responseText + ')');
                              //str为后台传到页面的内容,例
                                  alert(str.result);
    }
    }
    }xml配置:
       <action name="demo" class="demoAction" method="demo">
              <result type="json" />    
            </action>action代码:
         public class DemoAction extends ActionSupport {
             private int id;
             private int result;
             //加上id和result的getter和setter方法         public String demo(){
                  //处理id,从页面传过来的id为11;
                    result = 5555;//要传到页面的结果。可以为多个。但名字不能一样。
                  return SUCCESS;
             }
    }希望你能看懂,自己可以到网上找资料,很多的。
      

  4.   

    out是jsp的内置对象吧,struts1和2对这个的使用不是一样的嘛?struts2不熟
      

  5.   

    HttpServletResponse response=(HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);response..getWriter().print("")
      

  6.   


    ajax和struts有关系嘛?没关系又没冲突啊楼主。
    ajax调用的servlet啊。
      

  7.   

    楼主上官网查看struts2的官方文档 很详细