2012-12-26 79 views
3

我喜歡在jstl標籤內使用StringUtils.abbreviate(),有沒有taglib位置?apache commons lang3 stringutils taglib

我搜查了公共場所和網站,但無法找到示例。有沒有一種常見的方式來查找taglib位置,也許在javadoc樹的標準位置?

謝謝! 尼克

回答

3

尼克,

有往往不是一個預定義的標籤,以獲得在Apache UTIL方法,但它很容易添加自己的特殊標記定義指向你想要的方法。例如,當地的taglib定義添加到您的web.xml文件:

<jsp-config> 
    <taglib> 
     <taglib-uri>mytags</taglib-uri> 
     <taglib-location>/WEB-INF/jsp/mytaglib.tld</taglib-location> 
    </taglib> 
</jsp-config> 

你mytaglib.tld文件將是這個樣子:

<?xml version="1.0" encoding="UTF-8"?> 
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <tlib-version>1.0</tlib-version> 
    <function> 
     <description>Exposes the abbreviate() function from Apache StringUtils</description> 
     <name>abbreviate</name> 
     <function-class>org.apache.commons.lang.StringUtils</function-class> 
     <function-signature>java.lang.String abbreviate(java.lang.String, 
          int)</function-signature> 
    </function> 
</taglib> 

在你的JSP,那麼你可以使用你的新自定義標籤:

<%@ taglib prefix="mytags" uri="mytags" %> 
... 
<c:out value="${mytags:abbreviate(myString, 5)"/> 

這應該爲你做。對於定製標籤的更多信息,你可以在這裏閱讀:http://docs.oracle.com/javaee/5/tutorial/doc/bnalj.html

+0

非常好,感謝您的詳細解答! – nfvindaloo

相關問題