在開發JSP custom tag 時,要將tag中的data放到pageContext中以利JSP頁面撈用,
通常都是在Tag中用pageContext.setAttribute("varName",var),
此外還要讓JSP知道有哪些變數可用,有兩種方法:
- 在.tld裡面該Tag區段中宣告
元素及其內容 - 另外寫個TEI class (Tag Extra Info) ,然後在.tld檔中使用
元素指明class位置
其中使用2的方法有時算是比較複雜的狀況下非得用到。
然而在TEI clas的getVariableInfo方法中, 我們使用TagDatao(這是這個method傳入的參數)的getAttribute或getAttributeString兩個方法時, 記得我們的tag的attribute內容必須是靜態的,也就是說不能是runtime決定的變數內容。
原因在於TEI class是在translation time(也就是JSP轉servlet)時就叫用的。
沒有留言:
張貼留言