2013-05-29 27 views
0

我有一个jsp文件引用标签lib sm.tld。这个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> 

请帮我找到错误?

回答

0

这里需要指定一个有效的<uri></uri><uri>myFunctions</uri>,这样就可以在你的JSP使用的自定义标签为:

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

通过官方教程here去。

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

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

你的意思是完整的路径标记库? –

+0

你在JSP中如何使用标签? – NINCOMPOOP

+0

<%@ taglib uri =“/ WEB-INF/classes/sm.tld”prefix =“sm”%> –