首页 > 编程 > JSP > 正文

JSP-自定义标签开发入门

2019-11-02 14:25:12
字体:
来源:转载
供稿:网友

   一般情况下开发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;  

            }               out.println("<table width='500px' border='1' align='center'>");               out.println("<tr>");               out.println("<td width='20%'>Username:</td>");               out.println("<td>" + user.getUserName() + "</td>");               out.println("</tr>");               out.println("<tr>");               out.println("<td>Age:</td>");               out.println("<td>" + user.getAge() + "</td>");               out.println("</tr>");               out.println("<tr>");               out.println("<td>Email:</td>");               out.println("<td>" + user.getEmail() + "</td>");               out.println("</tr>");               out.println("</table>");           } catch(Exception e) {               throw new JspException(e.getMessage());           }           return SKIP_BODY;       }             @Override       public int doEndTag() throws JspException {      &nbs
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表