这个tld文件有什么错误?

时间:2013-05-29 17:01:31

标签: jsp jsp-tags

我有一个jsp文件,它引用了一个标签lib sm.tld。

浏览器说:

scripts.jsp:1:5: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file. <%@ taglib uri="/WEB-INF/classes/sm.tld" prefix="sm" %>

这是sm.tld:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"   "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib> 
<tlibversion>1.0</tlibversion>
<jspversion>2.0</jspversion>
<shortname>sm</shortname>
<uri></uri>
<tag>
    <name>topcategories</name>
    <tag-class>com.salesmanager.core.util.www.tags.TopCategoriesTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>merchantId</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>int</type>
    </attribute>
    <attribute>
        <name>maxCategories</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>int</type>
    </attribute>
    <attribute>
        <name>lineBreakQuantity</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>int</type>
    </attribute>    
</tag>
<!-- Product Tag -->
<tag>
    <name>productimage</name>
    <tag-class>com.salesmanager.core.util.www.tags.ProductImageTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>product</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>com.salesmanager.core.entity.catalog.Product</type>
    </attribute>
    <attribute>
        <name>source</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
        <type>String</type>
    </attribute>
    <attribute>
        <name>resizeratio</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>int</type>
    </attribute>
    <attribute>
        <name>id</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>String</type>
    </attribute>
    <attribute>
        <name>cssClass</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>String</type>
    </attribute>
    <attribute>
        <name>addSchemeHostAndPort</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>boolean</type>
    </attribute>            
</tag>
<tag>
    <name>productprice</name>
    <tag-class>com.salesmanager.core.util.www.tags.ProductPriceTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>product</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>com.salesmanager.core.entity.catalog.Product</type>
    </attribute>
    <attribute>
        <name>displayCurrency</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
        <type>Boolean</type>
    </attribute>
</tag>
<tag>
    <name>productpricespecial</name>
    <tag-class>com.salesmanager.core.util.www.tags.ProductPriceSpecialTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>product</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>com.salesmanager.core.entity.catalog.Product</type>
    </attribute>
    <attribute>
        <name>displayCurrency</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
        <type>Boolean</type>
    </attribute>
</tag>
<tag>
    <name>productpricefinal</name>
    <tag-class>com.salesmanager.core.util.www.tags.ProductPriceFinalTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>product</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>com.salesmanager.core.entity.catalog.Product</type>
    </attribute>
    <attribute>
        <name>displayCurrency</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
        <type>Boolean</type>
    </attribute>
</tag>
<tag>
    <name>pageslinks</name>
    <tag-class>com.salesmanager.core.util.www.tags.PagesLinksTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>merchantId</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>int</type>
    </attribute>
    <attribute>
        <name>lineBreakQuantity</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>int</type>
    </attribute>    
</tag>
<tag>
    <name>languages</name>
    <tag-class>com.salesmanager.core.util.www.tags.LanguagesTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <name>delimiter</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        <type>String</type>
    </attribute>
</tag>
<tag>
        <name>param</name>
        <tagclass>com.salesmanager.core.util.www.tags.ParameterTag</tagclass>
        <bodycontent>JSP</bodycontent>
        <info>
            Set url parameter
        </info>
        <attribute>
            <name>name</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>value</name>
        <required>false</required>
        <rtexprvalue>true</rtexprvalue>
        </attribute>
</tag>
<tag>
        <name>url</name>
        <tagclass>com.salesmanager.core.util.www.tags.UrlTag</tagclass>
        <bodycontent>JSP</bodycontent>
        <info>Url builds an encoded URL. (Inherit struts 2 url tag)</info>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>scheme</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>includeParams</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>includeContext</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>encode</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>namespace</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
        <name>forceAddSchemeHostAndPort</name>
        <required>false</required>
        <rtexprvalue>false</rtexprvalue>
        </attribute>
</tag>
<tag>
    <name>contents</name>
    <tagclass>com.salesmanager.core.util.www.tags.ContentsTag</tagclass>
    <bodycontent>empty</bodycontent>
    <attribute>
        <name>merchantId</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
        <name>sectionId</name>
        <required>true</required>
    </attribute>
</tag>
<tag>
    <name>content</name>
    <tagclass>com.salesmanager.core.util.www.tags.ContentTag</tagclass>
    <bodycontent>empty</bodycontent>
    <attribute>
        <name>merchantId</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
        <name>title</name>
        <required>true</required>
    </attribute>
</tag>
<tag>
    <name>downloadUrl</name>
    <tagclass>com.salesmanager.core.util.www.tags.OrderProductDownloadTag</tagclass>
    <bodycontent>empty</bodycontent>
    <attribute>
    <name>productDownload</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
</tag>
</taglib>

请帮我找错误?

1 个答案:

答案 0 :(得分:0)

您需要在此处指定有效的<uri></uri>,例如<uri>myFunctions</uri>,以便您可以在JSP中使用自定义标记:

<%@ taglib prefix="tt" uri="myFunctions" %>

浏览官方教程here

或者,您可以使用tagdir属性:

<%@ taglib tagdir="/WEB-INF/classes/sm.tld" prefix="sm" %>