笔记:JSP标签开发的部署

网上查到的资料多数是直接在web.xml中直接加入<taglib>标签,孙鑫老师的《JSP/Servlet》一书中却用了在/tlds/目录下记录标签的<taglib>然后在web.xml中引用,觉得这样会更好一些,虽然第一次配置略微麻烦,但是维护简单方便。

(老孙这一章写得很啰嗦,可能是这块没有怎么仔细精简)

摘录如下:

1、在/webapp/tlds/下建立MyTaglib.tld

<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 web-jsptaglibrary_2_1.xsd"
    version="2.1">
   
    <tlib-version>1.0</tlib-version>
    <short-name>my</short-name>
<display-name>My Tag</display-name>
    <description>Custom Tag library</description>
    <uri>/mytag</uri>

    <tag>
        <name>hello</name>
        <tag-class>org.sunxin.ch11.tags.HelloTag</tag-class>
       <body-content>empty</body-content>
(如果标签有属性)
       <attribute>
            <name>num2</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
       </attribute>
    </tag>

.....更多tag省略

</taglib>

2、web.xml中引用

<jsp-config>
    <taglib>
            <taglib-uri>/mytag(这个就相当于servlet的路径,jsp调用时候使用)</taglib-uri>
            <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
    </taglib>
</jsp-config>

3、使用

<%@ taglib uri="/mytag" prefix="my" %>

<my:welcome name="张三">
    欢迎你来到孙鑫的个人网站。
</my:welcome>

明白了吧,<tag-url>就是在jsp中可以使用的名字,prefix类似与c++/C#中的namespace(名字空间)

Leave a Reply

Your email address will not be published. Required fields are marked *