我现在用struts2框架,需要使用ajax实现局部刷新,但是从容器里返回的值不知道怎么从struts.xml配置文件里映射到jsp页面里,以前servlet里写out.orint("xxxxx")就可以得到~,但是现在用struts就不知道怎么写了,希望知道的高人能帮我解决下~万分感谢~

解决方案 »

  1.   

    一样的可以return 到jsp页面上。把jsp页面变成xml格式或直接输出都可以(看你的ajax是怎么取)。
      

  2.   

    取的语法是document.getElementById("a").innerHTML=responseText
     就是不知道struts.xml文件里配置
      

  3.   

    可以在配置你的ajax调用的action返回NONE ,然后在action中指定的调用方法中写输出流,类似写servlet,就可以。
      

  4.   

    <action name="download" class="a**.**Action"
              method="download">
     </action>
      

  5.   

    struts2 还没弄过ajax应该out.orint("xxxxx")也可以吧
      

  6.   

    在action里写上一个无返回值型的方法
    public void ajaxDemo(){
    HttpServletRequest request = ServletActionContext.getRequest();
    HttpServletResponse response = ServletActionContext.getResponse();
    PrintWriter out = response.getWriter();;
                    //out.print("xxxxx");}
      

  7.   

    可以再jsp页面接受参数,再从这个页面取参数啊
      

  8.   

    用prototype   搞 ajax  比较简单
      

  9.   

    action:
    public class TestAction extends ActionSupport{  
    public String execute()  {
                HttpServletResponse response = ServletActionContext.getResponse();
                response.setContentType("text/xml;charset=GBK"); 
                     response.setHeader("Cache-Control","no-cache");
                 this.readXMLFromRequestBody(ServletActionContext.getRequest());
                 
                try{             String str="<?xml version='1.0' encoding='GBK' ?>"; 
                      str+="<root>";
                      str +="<name>"+od.getName()+"</name><password>"+od.getPassword()+"</password>";
                     // str+="<message>我们</message><frend>一家人</frend><dongtai>demo</dongtai></root>";
                      response.getWriter().write(str);
                 }catch(Exception e){
                  e.printStackTrace();
                }
                   
                return null;
             }


     /**
      * 读取请求的xml格式串
      * @param request
      * @return
      */
     protected void readXMLFromRequestBody(HttpServletRequest request) {
    StringBuffer xml = new StringBuffer();
    String line = null;
    try {
    request.setCharacterEncoding("UTF-8");
    BufferedReader reader = request.getReader();
    while ((line = reader.readLine()) != null) {
    xml.append(line);
    }
    } catch (Exception e) {
    // logger.error("读取XML文件失败");
    }
    //TODO:本次提交的xml数据
    this.xmls = xml.toString();
    System.out.println("xml=="+xml.toString());
    // return xml;
     }
    }
    jsp:
    使用send发送xml数据
    使用responseTex接收返回数据