Abd*_*aly 10 java jsp el taglib variadic-functions
是否可以将TLD映射到以下函数:
public static <T> T[] toArray(T... stuff) {
return stuff;
}
Run Code Online (Sandbox Code Playgroud)
所以我可以这样做:
<c:forEach items="${my:toArray('a', 'b', 'c')}"...
Run Code Online (Sandbox Code Playgroud)
我试过以下<function-signature>的
java.lang.Object toArray( java.lang.Object... )
java.lang.Object[] toArray( java.lang.Object[] )
Run Code Online (Sandbox Code Playgroud)
而其他人似乎没什么用.
不幸的是,这是不可能的.EL解析器立即将函数中的逗号解释为单独的参数,而不检查是否有任何方法采用varargs.您最好的选择是使用JSTL fn:split().
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<c:forEach items="${fn:split('a,b,c', ',')}" var="item">
${item}<br/>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
然而,它本来是EL的一个很好的功能,虽然实现它会非常复杂.
| 归档时间: |
|
| 查看次数: |
4032 次 |
| 最近记录: |