一般情況下開發jsp自定義標簽需要引用以下兩個包
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
首先我們需要大致了解開發自定義標簽所涉及到的接口與類的層次結構(其中SimpleTag接口與SimpleTagSupport類是JSP2.0中新引入的)。
目標1:自定義一個用表格顯示用戶信息的簡單標簽
效果圖:
在jsp頁面使用此自定義標簽:
假設我們有一個UserInfo的javabean,那麼在JSP頁面使用此標簽只需調用此標簽即可
- <!-- 創建需要展現UserInfo的實例(用於測試數據) -->
- <%
- UserInfo user = new UserInfo();
- user.setUserName("Xuwei");
- user.setAge(33);
- user.setEmail("[email protected]");
- pageContext.setAttribute("userinfo", user);
- %>
- <!-- 給標簽設置user屬性綁定要展現的UserInfo對象 -->
- <cc:showUserInfo user="${pageScope.userinfo }" />
開發步驟:
簡單標簽的開發我們只要實現Tag接口即可,為了簡單起見可以直接繼承實現了此接口的TagSupport類
1 創建自定義標簽類
- public class UserInfoTag extends TagSupport {
- private UserInfo user;
- @Override
- public int doStartTag() throws JspException {
- try {
- JspWriter out = this.pageContext.getOut();
- if(user == null) {
- out.println("No UserInfo Found...");
- &
nbsp; return SKIP_BODY;
p; return EVAL_PAGE;
2 在Web-Inf創建標簽庫描述文件.tdl(Tag Library Description)
- <?xml version="1.0" encoding="UTF-8"?>
- <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
- <tlib-version>