jsp 自定义标签 一 简单示例

今天与大家分享下 jsp 自定义标签。

首先给大家看一个实例。

在WebRoot 下 新建一个 custom.tld 文件,文件内容如下:

<?xml version="1.0" encoding="UTF-8" ?>

<taglib 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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
  <description>Permission 1.0 library</description>
  <display-name>测试</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>pms</short-name>
  <uri>http://www.e-tong.cn/tags/pms</uri>

  <tag>
    <description>
	jsp 标签 示例
    </description>
    <name>hello</name>
    <tag-class>brook.common.system.tag.PermisssionTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
        <description>用户信息对象(UserInfo实例)的变量名称</description>
        <name>var</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
    </attribute>
  </tag>
</taglib>


然后自顶一个类,并继承于 SimpleTagSupport。

package brook.common.system.tag;

import java.io.IOException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class PermisssionTag extends SimpleTagSupport {
    @Override
    public void doTag() {
        JspWriter out = getJspContext().getOut();
        try {
            out.println("Hello Custom Tag!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}


然后在 web.xml 中定义如下:

<jsp-config>
    <taglib>
    	<taglib-uri>/tags/custom-tag</taglib-uri>
    	<taglib-location>/WEB-INF/tld/custom.tld</taglib-location>
    </taglib>
  </jsp-config>

然后新建一个 test.jsp。内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="ex" uri="/tags/custom-tag" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'test.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <ex:hello/>
  </body>
</html>

好,在浏览器中访问该文件:http://localhost:8080/amy/test.jsp

在页面中就可以看到如下输出内容:

Hello Custom Tag!


下一个文章我介绍一下 jsp 自定义标签的 tld 文档。也就是在上面 custom.tld文档中各标签的含义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值