Проблема заключается в следующем. Необходимо написать JSPшку, которая бы формировала некоторую структуру (на самом деле XLS файл суть-XML или HTML), после создания которой выгружала бы ее именно как XLS (Excel умеет открывать и XML и HTML). Необходимо, чтобы появилось стандартное окошко "Сохранить файл как..." Я не очень хорошо разбираюсь в JSP, поэтому использую следующий код | Код | <%@ page import="com.alphablox.blox.form.*" %> <%-- Import the Blox custom tag libraries --%> <%@ taglib uri="bloxtld" prefix="blox"%> <%@ taglib uri="bloxformtld" prefix="bloxform"%> <%@ page contentType="application/octet-stream;" %>
<% out.println("<HTML><HEAD><title></title></HEAD><BODY><table width='100%' height='100%' border=1> <tr> <td colspan=3 align=center>There is a table</td> </tr> <tr> <td>one</td> <td>two</td> <td>three</td></tr></table></BODY></HTML>"); %>
|
Т.е. указываю в заголовке тип application/octet-stream. Но при этом "выплевывается" не та строка, что нужна, а само содержимое JSP-шки, т.е: | Код | <!-- START ALPHABLOX HEADER -->
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <LINK REL="stylesheet" HREF="/AlphabloxServer/theme/coleman/coleman_dhtml.css" TYPE="text/css"> <LINK REL="stylesheet" HREF="/AlphabloxServer/theme/dhtml_view.css" TYPE="text/css"> <script language="javascript" src="/AlphabloxServer/jslib/compatibility.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/stringUtilities.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/browserCheck.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/gecko/gecko.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/core.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/BloxHttp.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/Soap.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/BloxAPI.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/Events.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/Blox.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/Dialog.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/BaseBloxMenu.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/gecko/BloxMenu_gecko.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/color.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/gecko/grid_gecko.js"></script> <script language="javascript" src="/AlphabloxServer/jslib/cell.js"></script> <script> if ( !bloxAPI ) { document.cookie="AAS_SessionID=5wyxwDnnns62ja-8k-iWW0f;path=/"; var bloxAPI = new BloxAPI( "dhtml", 120000, "", "coleman","vwrpt" ); bloxAPI.setLocalizedString( "MODEL_CLICK_TO_RESTORE","????????, ????? ????????????"); bloxAPI.setLocalizedString( "MODEL_EXPIRED_SESSION_TIP","????? ?????? ?????? ???????, ???????? ????????"); bloxAPI.setLocalizedString( "OK","??"); bloxAPI.setLocalizedString( "MODEL_CLICKTOEXPAND","??????"); bloxAPI.setLocalizedString( "MODEL_CLICKTOCOLLAPSE","???????????"); bloxAPI.setLocalizedString( "CLIENT_CLIPBOARD_NOT_SUPPORTED","???? ??????-??????? ?? ???????????? ??????????? ? ????? ??????"); bloxAPI.setLocalizedString( "CLIENT_IDENTIFICATION","DB2 Alphablox"); bloxAPI.setLocalizedString( "CLIENT_CHART_HEIGHT","?? ??????? ???????? ?????? ? ?????? ?????????"); bloxAPI.setLocalizedString( "CLIENT_COMM_ERROR","?????? ?????"); bloxAPI.setLocalizedString( "CLIENT_GRID_FAILURE","?? ??????? ?????????????? ?????? ??????????????? ????, ??? ????? ????????? ????????? ????????????"); bloxAPI.setLocalizedString( "CLIENT_PARSE_ERROR","?? ??????? ???????????????? ????? ??????? (???????? ???????)"); bloxAPI.setLocalizedString( "CLIENT_UNRECOVERABLE_ERROR","????????? ??????????????? ?????? ??? ?????????????? ? ????????\r\n\r\n?????????:"); bloxAPI.setLocalizedString( "CLIENT_COMM_TROUBLE","???????? ???????? ??? ?????????????? ? ????????\r\n\r\n???????:"); } </script>
<!-- END ALPHABLOX HEADER -->
out.println("<HTML><HEAD><title></title></HEAD><BODY><table width='100%' height='100%' border=1> <tr> <td colspan=3 align=center>There is a table</td> </tr> <tr> <td>one</td> <td>two</td> <td>three</td></tr></table></BODY></HTML>");
|
(вопросы - это исковерканная кодировка) Вопрос: как это правильно реализовать?
|