JSTL---Servlet.service() for servlet action threw exceptionjavax.el.MethodNotFoundException Method s

JSTL---Servlet.service() for servlet action threw exceptionjavax.el.MethodNotFoundException Method size

 

         背景

         最近在项目测试的时候,发现有的JSP页面有时会出现如下错误:

JSTL--- Servlet.service() for servlet action threw exceptionjavax.el.MethodNotFoundExceptionMethod size

 

         原因

         EL表达式语法错误,页面中绑定数据使用的是JSTL,所以有时会出现判空的情况写法如下:

<c:if test = “${list.size>0}”>
……
</c:if>

         而EL表达式并不支持${list.size>0}这种写法。

 

         解决方法

         其实,JSTL是有相关的函数支持获取集合的大小大。我们需要再引入一个标签

<%@taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%> 
<%@taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%> 

         EL表达式的正确写法

<c:if test = “${fn:length(list)}”>
……
</c:if>

        

         更多的知识大家可以去下面的链接地址看看:

         JSTL官网:https://jstl.java.net/

         开源中国JSTL社区:http://www.oschina.net/question/tag/jstl

         JSTL标签库:http://www.runoob.com/jsp/jsp-jstl.html


你可能感兴趣的:(JSTL---Servlet.service() for servlet action threw exceptionjavax.el.MethodNotFoundException Method s)