1 minute read

jsp 주석

...
<body>
    <%-- jsp 주석 --%>
    <%-- <h3>내용<h3> --%>
    <% 
    // 주석
    %>
</body>
...

jsp주석은 서버에서 처리되어 컴파일 대상에서 제외된다. 즉 클라이언트로 전송되지 않아 웹브라우저 소스보기를 통해 확인이 불가능하다. 스클립틀릿 안에 작성한 “//”주석도 마찬가지로 서버에서 처리되므로 확인이 불가능하다.

스크립틀릿

<%
int number = 10;
%>

스클립틀릿(“<% %>”) 내부에 자바 코드를 작성할 수 있다.

표현식

<%
int number = 10;
out.print(number);
%>

<%=number %>

스클립틀릿에서 작성한 변수를 표현식(“<%= %>”)을 사용하여 출력할 수 있다. out.print()함수로 출력할 수 있다. 리턴값이 없는 메서드는 표현식에서 호출이 불가능하다.

선언문

<%!
int number = 10;
%>

<%=number %>

선언문(“<%! %>”)에 자바 코드를 작성할 수 있다.

변수의 유효 범위

선언문에서 작성한 변수는 전역 변수가 되며 자바 클래스의 멤버 변수와 같은 유효 범위를 가진다. 스클립틀릿에서 작성한 변수는 지역 변수가 되며 자바 메서드와 같은 변수의 유효 범위를 가진다. 그러므로 스클립틀릿에는 메서드 정의가 불가능하며 변수 선언 위치보다 앞쪽에서 접근이 불가능하다.

자바 코드와 HTML 태그 조합

첫번째 방법

	<%
	if(hour < 12) {
		out.print("<h3>오전입니다.</h3>");
	} else {
		out.print("<h3>오후입니다.</h3>");
	}
	%>

자바 코드가 많고, HTML 태그가 적을 경우 사용하는 방식이다. 다만 HTML 태그는 자바에서 문자열로 취급되므로 문법 오류를 찾기 힘들다는 단점이 있다.

두번째 방법

	<%if(hour < 12) { %>
		<h3>오전입니다.</h3>
	<%} else { %>
		<h3>오후입니다.</h3>
	<%} %>

HTML 태그가 많고, 자바 코드가 적을 경우 사용하는 방식이다.

include

<header>
	<%@ include file="test1_top.jsp" %>		
</header>
<hr>
<article>
	<h1>test1.jsp</h1>
	<h3>문서의 본문</h3>
</article>
<hr>
<footer>
	<%@ include file="test1_bottom.jsp" %>
</footer>

include 지시어(Directive)를 사용하여 현재 페이지 내에 다른 문서를 포함할 수 있다. 헤더와 푸터처럼 반복되는 부분을 이렇게 처리하면 된다.

Leave a comment