使用代码示例最容易解释这一点。在某些场景中,我们的列表项有很多文本,但是显示超过前几个单词并没有用,这就是我们在 JSP 中的处理方式:
<% for(Item item : items) { %>
<li><%=StringHelper.shorten(item.getValue(),30))%></a></li>
<% } %>
过滤器有一些逻辑可以避免切割单词,并包括一个“...”来表示截断,等等。IE:
<li>Some text</li>
<li>Some other text that is longer...</li>
有没有一种巧妙的方法可以使用格式化程序来做到这一点。我知道我可能可以做这样的事情,但它似乎有点 hacky,因为我们在不同的位置使用不同的数字:
$items:{i|<li>$i.value;format="max30"$</li>}$