All that is needed is:
${ fn:substring( field, 0, 15 ) }
It is not necessary to check the string length as the JSTL fn:substring() function handles if it is passed a shorter string than the required length.
<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 ) }
gives:
string : 1234567890
substring 0..10: 1234567890
substring 0..20: 1234567890
Note that this is different behaviour to core Java String.substring(..).
<br/>substring 0..20: ${ string10.substring( 0, 20 ) }
gives a:
StringIndexOutOfBoundsException