通过c:out显示字符串的一部分

时间:2013-11-04 12:44:48

标签: spring maven jstl cout

在我的应用程序中,jsp上显示了一个字段。我是用

写的
<td>
<c:out value="${field}" />
</td>

但是,我不希望显示该值(字段)中的所有内容。只显示前15个字符。我怎样才能做到这一点? 我使用的是Spring 3.1,它是amven项目。 谢谢,

3 个答案:

答案 0 :(得分:1)

您可以使用前面的答案JSP String formatting Truncate

中所述的jstl子字符串函数

答案 1 :(得分:1)

使用此:

<c:choose>
   <c:when test="${fn:length(field) > 15}">
      ${fn:substring(field,0,10)}...
   </c:when>
  <c:otherwise>
     ${field}
  </c:otherwise>
</c:choose>

您可以用来显示输出,我直接在这里写。

答案 2 :(得分:1)

所需要的只是:

  ${ fn:substring( field, 0, 15 ) }

没有必要检查字符串长度,因为JSTL fn:substring()函数处理它是否传递了一个比所需长度更短的字符串。

<c:set var="string10" value="1234567890"/>
<br/>string         : ${ string10 }
<br/>substring 0..10: ${ fn:substring( string10, 0, 10 ) }
<br/>substring 0..20: ${ fn:substring( string10, 0, 20 ) }

给出:

string         : 1234567890 
substring 0..10: 1234567890 
substring 0..20: 1234567890 

请注意,这与核心Java String.substring(..)的行为不同。

<br/>substring 0..20: ${ string10.substring( 0, 20 ) }

给出了:

StringIndexOutOfBoundsException