.<jsp:useBean />與<% import="someClass" %>的區別:
假設已經編寫了一個類,現在需要引用他,那麼可以這麼做:
<jsp:userBean id="theId" scope="theScope" class="className" />
<%
theId.theMethod()
%>
也可以這麼用:
<%@ page import="className" %>
<%
className.theMethod()
%>
兩種方式有什麼區別,哪個更常用?或者各有什麼好處??????
import 只是幫你在這個頁面中聲明對一個類的引入,並沒有使用這個類
jsp:useBean是幫你產生一個類的實例:),用import是沒有直接的產生實例!但是不是說不能生成!
而jsp:useBean是直接生成的!那麼效率也就不用說了吧!useBean是在ACTION裏
serAttribute的實例,也就是帶有數據的實 例,而import是沒有實例過的CLASS,兩者概
唸完全不同的! 這個無所謂常用不常用的問題,假設我現在要在JSP中引用
java.util.Date這個類作爲JAVABEAN
可以這樣寫:
<jsp:useBean id="date" scope="page" class="java.util.Date" />
<jsp:getProperty name="date" property="time" />
也可以這樣寫:
<%@ page import = "java.util.Date"%>
<%
Date date=new Date();
out.println(date.getTime());
%>
兩種效果是一樣的,
第一種是以標籤的形式,即JAVABEAN來實現的,這種方式要求JAVA類中有不帶參數的構
造函數,並且初始化時只能初始化不帶參數的構造函數
第二種是以傳統的編碼方式來實現的,可以初始化帶參數的構造函數,並且不需要JAVA
類中一定帶有不帶參數的構造函數
第一種方式適合JAVABEAN,即那些只需要簡單顯示屬性的值,或設置屬性的情況
第二種方式適合工具類的方式,例如需要對某些信息進行格式化輸出等等
所以這兩種方式的調用要視不同的場合下調用