From Gossip@caterpillar

JSP/Servlet: <jsp:plugin> (Applet標籤輸出)

 

 


這邊藉由這個標題來介紹JSP動作元素<jsp:plugin>的使用,必須知道的是,要在網頁中使用 Applet,最基本的方式就是使用 <applet>標籤,然而使用<applet>標籤只是指定Applet下載位址、在瀏覽器上的顯示大小等等,在執行 Applet時則是使用瀏覽器預設的Java執行環境,瀏覽器預設的執行環境可能與您的Applet特性不合(例如Microsoft的Java VM),或是根本沒有安裝執行環境。

解決的方法就是使用Java Plugin,在需要的時候使用Sun的標準執行環境,然而要使用Java Plugin在不同的瀏覽器中會有不同的標籤寫法,在Netscape Navigator中是使用<embed>標籤,在Internet Explorer中是使用<object>標籤,為了解決這個問題,您可以在JSP中使用<jsp:plugin>動作元素,讓 它為您自動寫出合用的標籤與內容。

下面這個程式是個簡單的<jsp:plugin>示範:

  • pluginDemo.jsp
<html> 
<body>
Applet測試<br>

<jsp:plugin type="applet" code="3DBox.class"
codebase="./applet" width="500" height="400">
<jsp:params>
<jsp:param name="width" value="100" />
<jsp:param name="length" value="100" />
<jsp:param name="height" value="100" />
</jsp:params>
<jsp:fallback>
<p>無法載入3DBox Applet</p>
</jsp:fallback>
</jsp:plugin>

</body>
</html>

<jsp:params>與<jsp:param>可以用來指定給Applet的參數,而<jsp: fallback>的內容可以在無法載入Applet訊息時顯示,下面是傳回內容:
<html>
<body>
Applet測試<br>
 
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
         width="500" height="400"
         codebase="http://java.sun.com/products/plugin/1.2.2/
         jinstall-1_2_2-win.cab#Version=1,2,2,0">
<param name="java_code" value="3DBox.class">
<param name="java_codebase" value="./applet">
<param name="type" value="application/x-java-applet;">
<param name="width" value="100">
<param name="length" value="100">
<param name="height" value="100">
<COMMENT>
<embed type="application/x-java-applet;"
        width="500" height="400" 
        pluginspage="http://java.sun.com/products/plugin/"
        java_code="3DBox.class" java_codebase="./applet"
        width="100" length="100" height="100"/>
<noembed>
 
        <p>無法載入3DBox Applet</p>
   
</noembed>
</COMMENT>
</object>

</body>
</html>