hi to all, please any one help me .....i am trying to export some data to excel file...while doing this i am getting following exception....recently i was done clustering with jboss and apache...then onwards i am getting this error
Here is the stack trace....... Servlet.service() for servlet action threw exception: java.lang.IllegalStateException: getOutputStream() has already been called for this response at org.apache.catalina.connector.Response.getWriter(Response.java:598) [:6.1.0.Final] at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:199) [:6.1.0.Final] at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125) [:6.1.0.Final] at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118) [:6.1.0.Final] at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:188) [:6.1.0.Final] at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:117) [:6.1.0.Final] at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:76) [:6.1.0.Final] at org.apache.jsp.pages.MozartCostLoginAdmin_jsp._jspService(MozartCostLoginAdmin_jsp.java:86) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [:6.1.0.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [:6.1.0.Final] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.1.0.Final] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.1.0.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final] at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541) [:6.1.0.Final] at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final] at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final] at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063) [:1.2.7] at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386) [:1.2.7] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229) [:1.2.7] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) [:1.2.7] at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) [:1.2.7] at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [:1.0.0.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final] at com.zyom.security.LoginMonitorFilter.doFilter(LoginMonitorFilter.java:67) [:] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final] at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final] at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final] at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final] at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:504) [:6.1.0.Final] at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:437) [:6.1.0.Final] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final] at java.lang.Thread.run(Thread.java:619) [:1.6.0_13] here is my jsp file--------> <%@ page import="com.zyom.webclient.util.MozartCostUtils,java.util.*,com.zyom.struts.form.AtsRegionsForm,com.zyom.struts.form.MapCustomerForm,com.zyom.reuse.util.DateHandler,com.zyom.webclient.util.MozartConstants"%> <%@ page language="java" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%> <title>JSP for UserLoginForm form</title> </head> <body> <bean:message key="ats.channeldemand" />→<bean:message key="ats.customersetup" />→RegionCustomerUserMap→ <% if ((MozartCostUtils.isFirefox(request))) { %> <br> <%} %> <% String finditem=""; if(request.getAttribute("finditem")!=null) finditem=request.getAttribute("finditem").toString(); String finditem1=""; if(request.getAttribute("finditem1")!=null) finditem1=request.getAttribute("finditem1").toString(); %> Review Sales Regions, Roles Mapped to Regions (Exec, Cust User, ApAdm), Customer related data # Help <br> <td nowrap="nowrap" class="loggedinlabel" valign="bottom" nowrap="nowrap"> <form method="post" action="regionCustUserMap.do"> <input type="text" class="loggedin" value="<%=finditem %>" name="search"> <input type="hidden" name="method" value="FindCustomer"> <input type="submit" class="loggedinlabel" title="Find By Customer" value="Find Customer"> </form> <td nowrap="nowrap" class="loggedinlabel" valign="bottom" nowrap="nowrap"> <form method="post" action="regionCustUserMap.do"> <input type="text" class="loggedin" value="<%=finditem1%>" name="search1"> <input type="hidden" name="method" value="Find"> <input type="submit" class="loggedinlabel" title="Find By SalesID" value="Find SalesID"> </form> <html:form action="regionCustUserMap.do"> <td nowrap="nowrap" class="loggedinlabel" nowrap="nowrap"> <bean:message key="gloabl.asof" /> <td nowrap="nowrap" align="left" class="loggedin" nowrap="nowrap"> <%=(DateHandler.getDateInSpecifiedFormat( new java.util.Date(), MozartConstants.MOZART_DATE_FORMAT))%> Select SalesRegion: <td nowrap="nowrap" class="loggedinlabel" nowrap="nowrap"> <html:select styleClass="loggedin" onchange="filter_region()" styleId="regid" property="regid"> <html:option value="0">ALL</html:option> <html:options collection="regions_list" property="id" labelProperty="name" ></html:options> </html:select> </html:form> <% String divStyle = "style=\"overflow:auto;height:550;width:1030;\""; String tBodyStyle = "style=\"overflow:auto;overflow-x:hidden;\""; if ((MozartCostUtils.isFirefox(request))) { divStyle = "style=\"overflow:auto;height:550;width:1030;\""; tBodyStyle = "style=\"overflow:auto;overflow-x:hidden;height:200;\""; } %> <hr size="1" width="100%" noshade> <html:form action="regionCustUserMapXl.do"> <input alt="Press GO, Then click Export to Excel" name="CVS" class="loggedinlabel" type="image" value="Export Excel" src="images/xls.gif" onmouseover="Tip('Press Click Export to Excel')" /> </html:form> <html:form action="regionCustUserMap.do"> <div class="autoHeight" style="width:900px;height:1515px;margin-top:10px; margin-bottom:10px;"> <%-- class="tablesorter" --%> Sales Region ROLES MAPPED AT REGION LEVEL (ALL EXCEPT SALES ID) Customer Country Sales ID <%ArrayList cust_list=(ArrayList)request.getAttribute("cust_list"); for (int i = 0; i < cust_list.size(); i++) { MapCustomerForm mcf=(MapCustomerForm)cust_list.get(i);%> <TR class="<% if(i%2==0){%><%=""%><%}else{%><%="odd"%><%}%>"> <%=mcf.getRegion()%> <td width="408" width="40"> <%=mcf.getUser_names() %> <%=mcf.getCustomer()%> <%=mcf.getLocation()%> <%=mcf.getSalesid()%> <%} %> </div> </html:form> </body> </html> following is action class code.... package com.zyom.struts.ats.action; import java.io.File; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import jxl.Workbook; import jxl.write.Colour; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DownloadAction; import org.apache.struts.actions.DownloadAction.ResourceStreamInfo; import org.apache.struts.actions.DownloadAction.StreamInfo; import com.zyom.reuse.util.DateHandler; import com.zyom.struts.form.CmForm; import com.zyom.struts.form.DemandFGForm; import com.zyom.webclient.util.DBHelper; import com.zyom.webclient.util.AtsHelper; import com.zyom.webclient.util.DemandSupplyItem; import com.zyom.webclient.util.MozartCostUtils; import com.zyom.struts.form.MapCustomerForm; public class RegionCustUserMapXlAction extends DownloadAction { protected StreamInfo getStreamInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Date currentDatetime = new Date(System.currentTimeMillis()); SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy-HH-mm"); String myDate = formatter.format(currentDatetime); String myDate1 = formatter.format(currentDatetime); String fileName = "RegCustUsrMap_"+myDate+".xls"; String contentType = "application/vnd.ms-excel"; ServletContext servletCtx = this.servlet.getServletContext(); try{ String path = servletCtx.getRealPath(fileName); WritableWorkbook workbook = Workbook.createWorkbook(new File(path)); HttpSession session = request.getSession(true); List cust_list=new ArrayList(); cust_list=(ArrayList)session.getAttribute("cust_list"); jxl.write.Number num; Calendar stDate = Calendar.getInstance(); Calendar endDate = Calendar.getInstance(); String temp = ""; SimpleDateFormat formatter1 = new SimpleDateFormat("MMM-dd,yyyy"); WritableSheet sheet = workbook.createSheet("RegCustUsrMap_"+myDate1, 1); WritableFont arial10font = new WritableFont(WritableFont.ARIAL, 10); WritableCellFormat arial10format = new WritableCellFormat (arial10font); // sheet.mergeCells(0,0,2,0); WritableFont times16font = new WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD, true); WritableCellFormat times16format = new WritableCellFormat (times16font); times16format.setAlignment(jxl.format.Alignment.CENTRE); // times16format.setBackground(Colour.BLUE); times16format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.MEDIUM,Colour.BLACK); WritableFont datafont = new WritableFont(WritableFont.ARIAL , 10); WritableFont datafont1 = new WritableFont(WritableFont.ARIAL , 10); WritableFont datafont2 = new WritableFont(WritableFont.ARIAL , 10); datafont1.setColour(Colour.BLUE); datafont2.setColour(Colour.RED); datafont.setColour(Colour.BLACK); WritableCellFormat dataformat = new WritableCellFormat (datafont2); WritableCellFormat dataformatApproved = new WritableCellFormat (datafont); WritableCellFormat dataformatnotApproved = new WritableCellFormat (datafont1); WritableCellFormat dataformatApproved1 = new WritableCellFormat (datafont); dataformat.setAlignment(jxl.format.Alignment.LEFT); dataformatApproved.setAlignment(jxl.format.Alignment.LEFT); dataformatnotApproved.setAlignment(jxl.format.Alignment.LEFT); dataformatApproved.setBackground(jxl.format.Colour.YELLOW); dataformatApproved1.setAlignment(jxl.format.Alignment.LEFT); dataformatApproved1.setBackground(jxl.format.Colour.BRIGHT_GREEN); // times16format.setBackground(Colour.BLUE); dataformatApproved.setBorder(jxl.format.Border.ALL , jxl.format.BorderLineStyle.MEDIUM_DASHED ,Colour.BLACK); dataformatApproved1.setBorder(jxl.format.Border.ALL , jxl.format.BorderLineStyle.MEDIUM_DASHED ,Colour.BLACK); Label label = new Label(0, 0, "Region Customer User Map",arial10format); sheet.addCell(label); label=new Label(0,2,"As of: ",arial10format); sheet.addCell(label); label=new Label(1,2,DateHandler.getTodaysDate(),arial10format); sheet.addCell(label); int i=0; int j=3; j++; label = new Label(i, j, "Sales Region" ,times16format); sheet.addCell(label); i++; label = new Label(i, j, "ROLES MAPPED AT REGION LEVEL (ALL EXCEPT SALES ID)" ,times16format); sheet.addCell(label); i++; label = new Label(i, j, "Customer" ,times16format); sheet.addCell(label); i++; label = new Label(i, j, "Country" ,times16format); sheet.addCell(label); i++; label = new Label(i, j, "Sales Id" ,times16format); sheet.addCell(label); i++; while(endDate.after(stDate)){ label = new Label(i, j, formatter1.format(new java.util.Date(stDate.getTimeInMillis())) ,times16format); sheet.addCell(label); i++; stDate.add(Calendar.DATE, 7); } for (int count = 0; count < cust_list.size(); count++) { MapCustomerForm mapCustomerForm=new MapCustomerForm(); mapCustomerForm = (MapCustomerForm) cust_list.get(count); j++; i=0; label = new Label(i, j, mapCustomerForm.getRegion(),arial10format); sheet.addCell(label); i++; label = new Label(i, j, mapCustomerForm.getUser_names(),arial10format); sheet.addCell(label); i++; label = new Label(i, j,mapCustomerForm.getCustomer(),arial10format); sheet.addCell(label); i++; label = new Label(i, j, mapCustomerForm.getLocation(),arial10format); sheet.addCell(label); i++; label = new Label(i, j,mapCustomerForm.getSalesid(),arial10format); sheet.addCell(label); i++; } j=j+2; workbook.write(); workbook.close(); }catch(Exception e){ System.out.print(e); } response.setHeader("Content-disposition", "attachment;filename="+ fileName ); return new ResourceStreamInfo(contentType, servletCtx, fileName); } } Thanks in advance.... -- View this message in context: http://struts.1045723.n5.nabble.com/getOutputStream-has-already-been-called-for-this-response-tp5710573.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org