JSP教程(五)-JSP Actions的使用下
2020-06-01 23:25:34
供稿:網友
jsp:useBean Action 的使用
一、 語法:
<jsp:useBean
id="beanInstanceName"
scope="page|request|session|application"
{ class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanName="{package.class | <%= expression %>}" type="package.class"
}
{ /> |
> 其他元素
</jsp:useBean>
}
這個action使您能將一個JavaBean裝入一個JSP頁面。這是一個非常有用的能力,因為它使您可以使用可重用的JAVA類而不需犧牲性能。最簡單的語法用于指定一個bean:
<jsp:useBean id="name" class="package.class" />
這通常意味著“實例化一個類的對象通過指定一個類,并將之與一個通過id指定名稱的變量綁定”。然而,就象我們看到的,您可以指定一個scope屬性來使得bean不僅僅與當前的頁面相聯系。在這種情形下,得到一個對已存在的bean的引用是非常有用的,而且,僅當沒有相同的id和scope的bean存在時才創建一個新的。現在,您已有了bean,您可以通過jsp:setProperty來修改它,或者,通過使用之前用id指定的名字來使用scriptlet或明確的調用方法。當您說“這個bean有一個稱為foo的X類型的屬性”,您真正的意思是“這個類有一個稱為getFoo的方法,它返回X類型的某類值,還有另一個方法稱為setFoo,它以X為參數。”這jsp:setProperty action 將在下一單元詳細的介紹,但是現在您既可以給出一個明確的值,給出一個屬性來說明此值是從request的參數繼承而來,也可以僅僅列出屬性來標志此值應該從與屬性名同名的參數繼承而來。您可以通過調用適用的getXxx方法,或更普遍的,使用jsp:getProperty action,來得到已存在的JSP表達式或scriptlet屬性。
請注意,為bean指定的類必須在服務器的規則的類路徑下,而不是用來保留當改變時自動裝載的類的路徑。例如,在Java Web Server上,它和它所用的類必須到類的目錄或在lib目錄下的一個jar文件內,而不是在servlets的目錄下。
下面讓我們來看一個非常簡單的例子,它裝載一個bean并且設置/得到一個簡單的串參數。
BeanTest.jsp
<HTML>
<HEAD>
<TITLE>Reusing JavaBeans in JSP</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE BORDER=5>
<TR><TH CLASS="TITLE">
Reusing JavaBeans in JSP</TABLE>
</CENTER>
<P>
<jsp:useBean id="test" class="hall.SimpleBean" />
<jsp:setProperty name="test"
property="message"
value="Hello WWW" />
<H1>Message: <I>
<jsp:getProperty name="test" property="message" />
</I></H1>