如何在EL中连接字符串?

时间:2011-07-27 00:08:37

标签: jsp el

显然,你不能使用普通的+运算符在jsp中追加字符串...至少它不适合我。有办法吗?我的代码片段是相关的......

${fn:length(example.name) > 15 ? fn:substring(example.name,0,14) + '...' : example.name} // does not work because of + operator

1 个答案:

答案 0 :(得分:3)

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来处理它。例如,请参阅Hidden features of JSP/Servlet中答案底部附近的“EL功能”一章。你最终会像:

${util:ellipsis(example.name, 15)}

public static String ellipsis(String text, int maxLength) {
    return (text.length() > maxLength) ? text.substring(0, maxLength - 1) + "..." : text;
}
相关问题