2013-03-21 76 views
1

这是使用代码示例解释的最简单方法。在某些情况下,我们有大量的文字列表项,但显示出比前几个字更是没有用的,这是我们如何在JSP对付它:使StringTemplate限制字符串长度的最佳方法是什么?

<% for(Item item : items) { %> 
<li><%=StringHelper.shorten(item.getValue(),30))%></a></li> 
<% } %> 

过滤器有一定的逻辑使其避免切词,并包括“...”以指示截断,等等。即:

<li>Some text</li> 
<li>Some other text that is longer...</li> 

是否有一个干净的方式来做到这一点与格式化。我知道我大概可以做这样的事情,但它似乎有点哈克,我们在不同的地点使用不同的数字:

$items:{i|<li>$i.value;format="max30"$</li>}$ 

回答

0

最简单的方法就是自定义标签,例如

public class ShortenTag extends TagSupport{ 

    private static final int MAX_LENGTH = 30; 

    public int doStartTag(){ 

    // shorten string here 
    } 


} 
+0

谷歌搜索“stringtemplate TagSupport”基本上只返回这个帖子。我会看看你提到的这个东西是否有任何信息。 – Jacob 2013-03-21 23:03:11

相关问题