發表人 |
內容 |
2008-10-17 13:05:47
|
#1
|
viva
八級學員
註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
|
這URL會連到一個動態的圖片 http://目錄名/A.jsp
有辦法將A.jsp當成是圖片檔,然後包含到B.jsp中輸出嗎?
假設我在B.jsp這檔案裡,有辦法使用如下的方法嗎?
<table>
<tr>
<td><img src="http://目錄名/A.jsp "></td>
</tr>
</table>
JavaScript
<script language='JavaScript' type='text/javascript' src='http://目錄名/A.jsp '></script>
HTML
<iframe frameborder='0' width='180' height='800' src='http://目錄名/A.jsp '></iframe>
如果不使用JavaScript及iframe ,還有其他方法可以做到如上兩段程式一樣的功能嗎?
|
|
|
2008-10-18 08:57:01
|
#2
|
andowson
七段學員
註冊時間: 2007/1/2
文章: 710
來自: 台北
離線
|
可以參考這一篇
A simple way to display database blob stored image in a jsp
要注意的重點就是,
1.JSP頁面內不能有文字輸出,要全部用<% ... %>包圍起來,不能有HTML的標籤被輸出。
2.ContentType要設定為image/gif, image/jpeg, ...。
3.重新由response取得OutputStream,因原本的out物件是屬於文字輸出型的。
// get the image from any source
byte[] imgData = getYourImage();
// display the image
response.setContentType("image/gif");
OutputStream o = response.getOutputStream();
o.write(imgData);
o.flush();
o.close();
|
分享經驗 累積智慧 |
|
|
2008-10-19 11:44:37
|
#3
|
viva
八級學員
註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
|
請教一下....測試程式有3個 test1.jsp , test2.jsp , test3.jsp
test1.jsp(已排版好的動態圖片)
<table align="center">
<tr><td align="center"><img src="http://xxxxxx.gif"></td></tr>
<tr><td align="center">測試1</td></tr>
<tr><td align="center"><img src="http://xxxxxx.gif"></td></tr>
<tr><td align="center">測試2</td></tr>
</table>
test2.jsp (發送GIF檔案給瀏覽器)
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%
response.setContentType("image/gif");
File f = new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\ROOT\\test1.jsp");
byte[] b = new byte[(int)f.length()];
FileInputStream fis = new FileInputStream(f);
fis.read(b);
OutputStream os = response.getOutputStream();
os.write(b);
os.flush();
%>
test3.jsp
<%@ page contentType="text/html; charset=Big5" %>
<table>
<tr>
<td><img src="http://localhost:8080/test.jsp"></td>
</tr>
</table>
測試時,連到http://localhost:8080/test2.jsp 可以看到test1.jsp的圖檔
但連到http://localhost:8080/test3.jsp 卻無法顯示圖片
連到test2.jsp 可以看到圖片的話不就代表test2.jsp是以GIF檔回應給瀏覽器
為何在test3.jsp使用 <img src="xxx.jsp">卻無法顯示?
|
|
|
2008-10-19 19:54:18
|
#4
|
andowson
七段學員
註冊時間: 2007/1/2
文章: 710
來自: 台北
離線
|
test2.jsp內的第五行
File f = new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\ROOT\\test1.jsp");
要改成
File f = new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\ROOT\\images\\xxx.gif");
test3.jsp的第四行應修正為:
<td></td>
|
分享經驗 累積智慧 |
|
|
2008-10-20 12:06:09
|
#5
|
viva
八級學員
註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
|
感謝指導!!
test2.jsp內的第五行改為.gif檔後,在test3.jsp可以由 <img src="http://localhost:8080/test2.jsp">顯示
但因test1.jsp裡,圖片不只一張,而且還有JAVA語言去做動態圖片的選擇!
所以在test2.jsp內的第五行一定只能讀.gif檔嗎? 沒辦法讀整個test1.jsp檔嗎?
File f = new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\ROOT\\images\\xxx.gif");
|
|
|
2008-10-20 12:35:22
|
#6
|
andowson
七段學員
註冊時間: 2007/1/2
文章: 710
來自: 台北
離線
|
請先確認test3.jsp一次要顯示幾張圖?這些圖放在哪邊?然後跟test1.jsp有什麼關係?
也許你需要的只是在test3.jsp中使用<jsp:include page="test1.jsp" />
|
分享經驗 累積智慧 |
|
|
2008-10-20 13:19:19
|
#7
|
viva
八級學員
註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
|
其實主要要使用的語法就只有 <img src="http://xxxx/test1.jsp">
test3.jsp只是測試時我想看結果而已!
圖的話,在伺服器上,用http://xxxxx/.gif去使用!
而test1.jsp是經由某個介面輸入要顯示幾張圖片後而出現的結果!!
其實就是個圖片工具而已,只是有些網站限制了Javascript跟iframe
所以才想用 <img src="http://xxxx/test1.jsp">的方法!!
請問...
我把test1.jsp整個HTML TAG存在StringBuffer裡,轉為String後再讀出byte!
再利用前述方法response.setContentType("text/html;charset=BIG5");傳回HTML
在前述例子可用<img src="http://xxx/test2.jsp">顯示出來!
那有相關方法可以使用TAG秀出http://xxx/test4.jsp的HTML的嗎?
test4.jsp
<%@ include file="inc_common_parameters.jsp" %>
<%@ include file="inc_common_fun_doc.jsp" %>
<%
response.setContentType("text/html;charset=BIG5");
HttpUtil a = new HttpUtil();
StringBuffer sb = null;
try {
sb = a.doPost("http://xxx/test1.jsp", "", "UTF-8");//傳回整個htm放到sb
String sb_t = sb.toString();
byte[] b = sb_t.getBytes();
OutputStream os = response.getOutputStream();
os.write(b);
os.flush();
} catch(Exception e) {
out.println(e.getMessage());
}
|
|
|
2008-10-20 19:46:32
|
#8
|
andowson
七段學員
註冊時間: 2007/1/2
文章: 710
來自: 台北
離線
|
不知道您的需求是不是如下:
網站A,動態產生廣告圖片網頁test1.jsp,內容為文字HTML標籤
網站B,只能放HTML的靜態網頁空間,想要將網站A的test1.jsp的結果顯示在一個網頁,例如showTest1.html上
可行的作法是在網站B上使用<frame>或<iframe>或者<javascript>的src屬性去設定來源URL為網站A的test1.jsp
現在您是指,如果不使用上面這幾個標籤時,可以改用img的src屬性來達成嗎?
|
分享經驗 累積智慧 |
|
|
2008-10-21 14:27:46
|
#9
|
viva
八級學員
註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
|
andowson wrote:
網站A,動態產生廣告圖片網頁test1.jsp,內容為文字HTML標籤
網站B,只能放HTML的靜態網頁空間,想要將網站A的test1.jsp的結果顯示在一個網頁,例如showTest1.html上
可行的作法是在網站B上使用<frame>或<iframe>或者<javascript>的src屬性去設定來源URL為網站A的test1.jsp
是的,你說明是我原本的作法....我的疑問也是您所說的,是否可改用img的src屬性來達成?
我在想乾脆用 img src="http://............檔名.jsp",前端連結固定
然後利用後端程式與資料庫來做出動態效果....只不過有點麻煩!code也要重寫,所以想請教是否還有其他方法?
因已有現成且處理好的程式(網站A),也有程式可以讀取網站A的HTML程式碼(test4.jsp)
那該怎麼在網站B的靜態網頁空間中顯示出來?
|
|
|
2008-10-23 13:31:43
|
#10
|
andowson
七段學員
註冊時間: 2007/1/2
文章: 710
來自: 台北
離線
|
有種方法,不知道管不管用,做張網頁截圖,例如
可以利用下列網址產生
http://ppt.cc/yo2/index.php
然後你再將該截圖抓回來放到你的網站上去
再把img src的來源指到你的網站上
|
分享經驗 累積智慧 |
|
|
2008-10-23 13:52:26
|
#11
|
viva
八級學員
註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
|
哇賽....那個快照網站好屌喔!原來還有那種東西....
剛試了一下,發覺那個是用靜態網頁
我的圖片工具,圖片全部都動態的,畫面會自行跳動,所以快照不適合!
我後來想想,還是使用你指導的,順便夾帶個參數<img src="http://xxxx/test2.jsp?TYPE=參數">
然後再從test2.jsp裡去判斷參數多少,然後給予相對應的圖片!!
最傷腦筋的就是排版......呼!!
謝謝andowson大力指導^^
|
|
|
|