我正在尝试确定 View 中集合的大小。我不想像下面的代码那样使用 .size()
传递尺寸。
@RequestMapping(value = "/search/searchAndReplace")
public ModelAndView searchAndReplace(HttpServletRequest request, HttpServletResponse response) {
ModelAndView model = new ModelAndView("content/search/searchAndReplace");
List<Content> searchResults = (List<Content>) request.getSession().getAttribute("searchResults");
model.addObject("searchResults", searchResults);
model.addObject("searchResultsCount", searchResults.size());
return model;
}
在我看来,当我执行 ${searchResultsCount}
时一切正常,当我执行 ${searchResults.size()}
时出现错误 类 javax.el.BeanELResolver 无法使用修饰符“public”访问类 java.util.ArrayList$SubList 的成员
我不明白为什么这会令人窒息。有人可以提供一些见解吗?
最佳答案
在您的示例中,EL 解析器在对象上寻找 size
属性,但对象上没有方法 getSize()
。相反,使用 EL 表达式 fn:length(searchResults)
。您需要为此定义 fn
命名空间:
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions"
prefix="fn" %>
关于java - 无法确定 jsp 中的列表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743519/