如何检查JSTL对象是String还是Collection?

Hed*_*dge 6 java jstl

我正在使用JSTL并想要检查对象是String还是Collection.

fn:length返回两种类型的结果(字符串大小或集合中的元素数).

<c:if test="${fn:length(item)>1}">
   <c:out value="${fn:length(item)} " />
</c:if>
Run Code Online (Sandbox Code Playgroud)

我怎样才能确定我有哪一个?

dog*_*ane 8

你可以查看班级名称.例如:

<c:if test="${item.class.simpleName == 'String'}">
   <!-- it's a String! -->
</c:if>
Run Code Online (Sandbox Code Playgroud)


Mat*_*s M 8

使用tomcat 7时,item.class导致错误.对我来说,这是有效的(尽管它更脏):

${item.link.getClass().simpleName == 'String'}
Run Code Online (Sandbox Code Playgroud)