JSTL, 콩 및 방법 호출
문제
콩에서 나오는 물체에서 메소드를 호출 해야하는 JSP에서 작업하고 있습니다. 이전 버전의 페이지는 JSTL을 사용하지 않으며 올바르게 작동합니다. 내 새 버전에는 다음과 같은 설정이 있습니다.
<jsp:useBean id="pageBean" scope="request" type="com.epicentric.page.website.PageBean" />
<c:set var="pageDividers" value="<%= pageBean.getPageDividers() %>" />
<c:set var="numColumns" value="${pageDividers.size()}" />
변수 pageDividers
a List
물체.
나는이 문제를 겪고있다 : 내가 요청할 때 pageDivider
크기, 예외가 발생합니다. 나는 이것이 간단한 JTSL 오류라는 것을 알고있다. 내가 뭘 잘못하고 있습니까?
오류 메시지는 다음과 같습니다.
기본 네임 스페이스가 지정되지 않은 경우 기능 크기를 접두사와 함께 사용해야합니다.
내 방법에 올바르게 액세스하거나 호출하는 방법 pageDividers
물체?
해결책
JSTL에서 속성 액세스를 위해 DOT 운영자를 사용하는 경우 ${pageDividers.size}
(아니요 () 필요한)이 명명 된 메소드를 호출하는 결과 getSize()
.
java.util.list가 호출되는 메소드를 제공하기 때문에 size()
(대신 getSize()
) 해당 코드를 사용하여 목록 길이에 액세스 할 수 없습니다.
목록 크기에 액세스하기 위해 JSTL은 다음을 제공합니다. FN : 길이 같은 기능
${fn:length(pageDividers)}
사용하려면 주목하십시오 FN 네임 스페이스, 다음과 같이 선언해야합니다
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
또한 동일한 함수는 모든 수집 유형과 문자열과 함께 사용할 수 있습니다.
다른 팁
EL을 사용하여 Bean의 속성에 액세스하려면 속성을 지정하십시오 (방법을 호출하지 않음). 콩에 getsize ()라는 메소드가 있다고 가정 해 봅시다.
${pageDividers.size}
참조 번호 ().
편집 : 죄송합니다 ... 원래 게시물에서 오류가 발생했습니다.