【问题标题】:How to create custom tags in Java Web App? How to use custom tags in JSP?如何在 Java Web App 中创建自定义标签?如何在 JSP 中使用自定义标签?
【发布时间】:2014-09-03 13:13:14
【问题描述】:

我想创建自己的标签,比如

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:out value="helloWorld" />

<c:forEach var="song" items="${applicationScope.songs}">
    <c:out value="song" />
</c:forEach>

您能举一个创建自定义标签的 Hello World 示例吗?

【问题讨论】:

    标签: jsp jsp-tags custom-tags


    【解决方案1】:

    没问题..

    首先创建一个.tld文件,放在WEB-INF目录下或者WEB-INF目录下的目录下,我们称之为mytags.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>My Tags.. My Own Tags..</description>
        <display-name>My Tags Display Name Here.</display-name>
        <tlib-version>1</tlib-version>
        <short-name>mytags</short-name>
        <uri>http://koraytugay.com/mytags</uri>
    
        <tag>
            <description>Some random tag by me</description>
            <name>myFirstTag</name>
            <tag-class>com.tugay.julyten.MyTagClass</tag-class>
            <body-content>empty</body-content>
        </tag>
    
    </taglib> 
    

    这里最重要的元素是 uri 和我猜 tag 元素中的所有内容..

    部署应用程序时,容器会查找 .tld 文件,因此您无需将其放入 web.xml 或任何内容中。 (这对 JSP 2.0 及更高版本有效。)

    好的,现在让我们在 com.tugay.julyten 包中创建 MyTagClass.java

    package com.tugay.julyten;
    
    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.tagext.SimpleTagSupport;
    import java.io.IOException;
    
    public class MyTagClass extends SimpleTagSupport {
        @Override
        public void doTag() throws JspException, IOException {
            getJspContext().getOut().write("You are awesome man! Awesome!!!");
        }
    }
    

    请注意,我们的类扩展了 SimpleTagSupport 并且我们已经覆盖了方法 doTag() 并实现了它。终于是时候在我们的 jsp 文件中使用它了:

    <%@ taglib prefix="mine" uri="http://koraytugay.com/mytags" %>
    <mine:myFirstTag />
    

    给你。当你点击jsp文件时,你会看到:

    You are awesome man! Awesome!!!
    

    希望这可以帮助您开始使用自定义标签..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 2014-11-16
      • 2011-02-10
      • 2012-01-24
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多