2016-02-25 434 views
1

我不知道为什么我得到这个错误。我只是用雅虎YUI实现简单的AJAX搜索。 注意我写getoutputstream来得到一个错误,然后当我做了printwritter我得到了第一个错误。java.io.IOException:写超出流的末端或java.lang.IllegalStateException:getOutputStream()已被调用

java.lang.IllegalStateException: getOutputStream() has already been called!** 
     at com.documentum.web.servlet.CompressingResponseWrapper.getWriter(CompressingResponseWrapper.java:119) 
     at jsp_servlet._._jspService(__peoplesearch.java:131) 
     at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) 

java.io.IOException: write beyond end of stream 
     at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:104) 
     at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72) 

YAHOO锐...........

(function() { 
    YAHOO.namespace('NameSearch'); 

    YAHOO.NameSearch = function(element) { 

     var ColumnDefs = [ 
       {key:"age",label: "Age", sortable:true, resizeable:true}, 
       {key:"height", label: "Persons Height", sortable:true, resizeable:true}, 
       {key:"name",label: "First Name", sortable:true, resizeable:true} 


     ]; 

     var personDataSource = new YAHOO.util.DataSource('/nameSearch.jsp?'); 
     personDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; 
     personDataSource.responseSchema = { 
      resultsList : 'PeopleSearch', 
      fields : [ 'age', 'height', 'name' ] 
     }; 


     YAHOO.NameSearch.superclass.constructor.call(this, 
       element, ColumnDefs, personDataSource); 
    }; 

    var PersonSearch = YAHOO.NameSearch; 
    YAHOO.lang.extend(NameSearch, YAHOO.widget.DataTable, { 
     refresh : function(parameters) { 
      var successHandler = function() { 
       var sortedBy = this.getState().sortedBy; 
       this.onDataReturnReplaceRows.apply(this, arguments); 

数据..........

<% 
    String pKey = request.getParameter("PrimaryKey"); 
    String personAge = request.getParameter("AGE"); 
    String firstName = request.getParameter("Name"); 


    List<HashMap<String, Object>> personList = PersonDAO.getPersonDetails(pKey, personAge, firstName); 
    response.setContentType("application/json"); 

    ObjectMapper mapper = new ObjectMapper(); 
    Map<String, Object> json = new HashMap<String, Object>(); 
    List<Map<String, Object>> array = new ArrayList<Map<String, Object>>(); 
    Map<String, Object> node; 


    for (int i = 0; i < personList.size(); i++) { 
     node = new HashMap<String, Object>(); 
     HashMap<String, Object> person = personList.get(i); 
     { 

      node.put("age", (String) person.get("age_key")); 
      node.put("height", (String) person.get("height_key")); 
      node.put("name", (String) person.get("name_key")); 

     } 

     array.add(node); 

    } 

    json.put("PeopleSearch", array); 
    mapper.writeValue(response.getOutputStream(), json); 
%>  
+0

可以请你告诉我们,这是该行'为jsp_servlet ._._ jspService(__ peoplesearch.java:131)' .. –

+0

@ redflar3它已被更新。 – ij007

回答

相关问题