Ответ уже дан Нейтом, поэтому я не буду его повторять.
Однако я обычно дополняю ответы ответами, которые отвечают тому, что действительно нужно 1004 * спрашивающему, а не тому, что спрашивает спрашивающий.Это выглядит очень похоже на то, что вы совершенно не знаете о JSTL основных тегах и функциях .Вы действительно должны предпочесть, чем возиться с уродливыми скриптлетами .
<c:set var="foo" value="${pageModel.foo}" />
<c:if test="${fn:length(foo) > 10)}">
<c:set var="foo" value="${fn.substring(foo, 0, 9)}" />
</c:if>
<p>${foo}</p>
или с условным оператором ?:
:
<c:set var="foo" value="${(fn:length(pageModel.foo) > 10) ? fn.substring(pageModel.foo, 0, 9) : pageModel.foo}" />
<p>${foo}</p>
Гораздо лучше, не так ли?не так ли?
Имейте в виду: когда вам нужен скриптлет <% %>
, очень велики шансы, что вы ищете решение в неправильно направление.Подумайте дважды, чтобы найти решение, и посмотрите в сторону меток, функций EL или просто сервлетов / фильтров.