更新時(shí)間:2024-01-10 來源:黑馬程序員 瀏覽量:
在TLD文件中,如果將:
<rtexprvalue>
元素的值設(shè)置為true,則標(biāo)簽的屬性值可以被設(shè)置為一個(gè)JSP動(dòng)態(tài)元素,這是一個(gè)非常有用的功能,它使得標(biāo)簽的屬性值不再局限于靜態(tài)文本,而可以根據(jù)程序的需求動(dòng)態(tài)地進(jìn)行設(shè)置。例如,標(biāo)簽中有一個(gè)名為user的屬性,這個(gè)屬性接收cn.itcast.chapter09.domain.User類型的值,而在頁面的session域中以“user”為鍵保存了一個(gè)User類型的對(duì)象,那么在JSP頁面中可以使用EL表達(dá)式來設(shè)置標(biāo)簽的user屬性值,如下所示。
<itcast:showtime user="${user}"/>
需要注意的是,當(dāng)自定義標(biāo)簽的屬性值為JSP動(dòng)態(tài)元素時(shí),JSP容器在處理標(biāo)簽屬性時(shí)不會(huì)對(duì)屬性的值進(jìn)行轉(zhuǎn)換,而是直接將其傳遞給標(biāo)簽處理器類,所以在這種情況下,JSP動(dòng)態(tài)元素的結(jié)果類型必須與處理器中屬性的類型相同,否則會(huì)出現(xiàn)編譯錯(cuò)誤。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):https://java.itheima.com