這是我之前的問題,它沒有正確框定。Iframe沒有顯示struts action class中的對象
我在其中呼籲在SRC一個Struts2的action類一個JSP類的iframe,但不是該文件得到下載的框架內開放,
內部文件TempContentPage.jsp:
<s:form>
<iframe id="displayFrame" src="ContentPage.action" width="1000" height="500" FRAMEBORDER="0" value="1"> </iframe>
</s:form>
下面是在操作類ContentPage.java執行方法
公共字符串執行()拋出IOException異常{
Session session = SessionUtil.getSession();
session.beginTransaction();
ServletOutputStream out = res.getOutputStream();
ContentBase cb = new ContentBase();
String quer = "from ContentBase cb where cb.parentType=? AND cb.parentId=? ";
Query query = session.createQuery(quer);
query.setParameter(0, "FILE");
query.setParameter(1, "1");
list = (ArrayList) query.list();
if (null != list && !((java.util.ArrayList) list).isEmpty()) {
cb = (ContentBase) ((java.util.ArrayList) list).get(0);
}
docContent = cb.getFile();
res.reset();
res.setContentType("application/msword");
res.setHeader("Content-disposition", "inline; filename=\"scovr.doc\"");
try{
InputStream in = docContent.getBinaryStream();
//InputStream iStream = new ByteArrayInputStream (docContent.getBytes(0, (int) docContent.length()));
int length = (int) docContent.length();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
while ((length = in.read(buffer)) != -1) {
out.write(buffer, 0, length);
}
player.setIsRead(true);
in.close();
}catch(Exception e){
e.printStackTrace();
}
out.flush();
return SUCCESS;
}
這裏是struts.xml中映射
<action name="ContentPage" class="com.zoran.action.ContentPage">
<result name="success" type="stream">
<param name="contentType">application/msword</param>
<param name="inputName">in</param>
<param name="bufferSize">1024</param>
<param name="contentDisposition">inline</param>
</result>
<result name="error" >/pages/ContentPage.jsp</result>
<result name="input" >/pages/ContentPage.jsp</result>
</action>
我想打開的iframe範圍內的文件,請幫我(我從Balusc有價值的投入),因此改變在此代碼:)。
感謝, 阿迪亞
非常感謝Balusc。即使在IE中它沒有得到渲染,它只是彈出一個對話框詢問是否保存或打開框。如果它只是在IE本身工作,我會很高興。此外,還沒有向用戶提供可編輯選項的意圖。用戶在另一個頁面上傳一個.doc文件,而不同的用戶在上面的頁面訪問它。 – 2009-11-09 05:37:08
然後,最好的選擇是將其轉換爲PDF或與下載鏈接/按鈕而不是iframe一起生活。祝你好運。 – BalusC 2009-11-09 12:44:23