2

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

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

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

4

3 回答 3

1

您可以使用前面的答案中描述的 jstl 子字符串函数,JSP 字符串格式截断

于 2013-11-04T12:51:25.537 回答
1

用这个:

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

你可以用来显示你的输出,我这里直接写了。

于 2013-11-04T12:51:40.863 回答
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
于 2018-05-14T15:09:04.057 回答