개발입문/Servlet&JSP

[헤드퍼스트 Servlet&Jsp] 8-3. EL에서 함수 사용

haloaround 2017. 2. 26. 16:49



EL에서 함수를 호출!

파라미터는 불러올 수 없으니까.


EL 함수 호출


1. public static method를 제공하는 클래스를 작성합니다.


2. 태그 라이브러리 서술자 파일 TLD 을 만듭니다.

.tld 파일로 함수를 정의한 자바클래스와 이를 호출할 JSP를 매핑해야합니다.

uri, function (function-class, function-signature)


3. JSP 에 taglib 지시자를 코딩합니다.

<%@ taglib prefix="mine" uri="DiceFunctions" %>

TLD 구분자 prefix


4. 함수를 호출하는 EL을 작성합니다.

${prefix:name()}



EL 은  널 null과 친합니다.

속성/프로퍼티를 못 찾더라도, 널을 나름대로의 규칙에 따라 처리해서 페이지 자체는 보이게끔 노력합니다.


EL 논리 연산에서는 정의되지 않은 값은 false 로 처리합니다.



JSP 안의 JSP <jsp:include>


JSP 안의 JSP

가령, 레이아웃 템플릿 코드 (머릿말 페이지, 내비게이션 바) 에서 사용합니다.

재사용 가능한 단위로 디자인하여, 조그마한 조각들을 서로 조합하여 완벽한 레이아웃을 만들 수 있습니다.




incldue 지시자 : 컨테이너가 변환

<%@ include file="Header.jsp"%>


<jsp:include> 표준 액션 : 런타임 시 응답 포함

RequestDispatcher 하나 더 만들어 include() 메소드 실행

실시간 포함이 가능하다.

<jsp:include page="Header.jsp" />



Header.jspf 내 ${param.subTitle} 추가 && 


<jsp:include page="Header.jspf" >

<jsp:param name="subTitle" value="Fighting" />

</jsp:include>




<jsp:forward />


JSP 에서 다른 JSP 로 or 다른 곳으로 요청을 포워딩 합니다.

<jsp:forward /> 를 사용하면 요청이 넘어가기 전 버퍼는 깨끗이 지워집니다.


<html><body>

Welcome to our page!


<% if (request.getParameter("userName") == null) { %>

<jsp:forward page="HandleIt.jsp" />

<% } %>


Hello ${param.userName}

</body></html>





EL 과 표준 액션이 서로 협업하여 개발자가 필요한 모든 것을 할 수 있는 JSP 표준 태그 라이브러리 (JSTL, JSP Standard Tag Library> 에 대하여 알아봅니다.


JSTL +__+

정말 웹개발로 가고 있어 호호호!