Ответ 1
EL не знает оператора конкатенации строк. Вместо этого вы просто вставляете несколько EL-выражений вместе. Оператор +
находится в EL исключительно для оператора суммы для чисел.
Вот один из способов, как вы могли это сделать:
<c:set var="tooLong" value="${fn:length(example.name) > 15}" />
${tooLong ? fn:substring(example.name,0,14) : example.name}${tooLong ? '...' : ''}
Другой способ - использовать для этого функцию EL, в которой вы можете справиться с этим, используя чистую Java. Например, см. Раздел "Функции EL" в нижней части моего ответа в Скрытые функции JSP/Servlet. Вы бы хотели, чтобы это как-то вроде:
${util:ellipsis(example.name, 15)}
с
public static String ellipsis(String text, int maxLength) {
return (text.length() > maxLength) ? text.substring(0, maxLength - 1) + "..." : text;
}