JSP 표현식이란?
JSP 표현식(Expression) 요소는 스크립팅 언어로 작성된 표현식을 담는 요소입니다. 이 표현식은 서버에서 평가(evaluate)된 후 문자열(String)로 변환되며, JSP 파일 내에서 표현식이 위치한 바로 그 자리에 결과가 삽입됩니다.
표현식의 값이 항상 문자열로 변환되기 때문에, HTML 태그가 포함된 텍스트든 일반 텍스트든 상관없이 한 줄의 문장 안에서 자유롭게 사용할 수 있다는 것이 큰 장점입니다.
표현식 작성 시 주의사항
표현식 요소에는 Java 언어 사양(Java Language Specification)에 따라 유효한 모든 표현식을 사용할 수 있습니다. 단, 하나의 중요한 규칙이 있습니다. 바로 세미콜론(;)으로 표현식을 끝내면 안 된다는 점입니다. 이는 JSP 선언문(Declaration)과의 차이점이기도 하니 헷갈리지 않도록 주의해야 합니다.
JSP 표현식 기본 문법
JSP 표현식의 기본 문법은 다음과 같습니다.
<%= expression %>
동일한 내용을 XML 문법으로 작성하면 아래와 같습니다.
<jsp:expression>
expression
</jsp:expression>
JSP 표현식 실전 예제
다음 예제는 JSP 표현식을 활용해 오늘 날짜를 화면에 출력하는 코드입니다.
<html>
<head>
<title>A Comment Test</title>
</head>
<body>
<p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>
</body>
</html>
위 코드를 실행하면 다음과 같은 결과가 브라우저에 출력됩니다.
Today's date: 11-Sep-2010 21:24:25
예제 코드 해설
예제에서 사용된 (new java.util.Date()).toLocaleString() 부분이 바로 표현식입니다. java.util.Date 객체를 새로 생성하여 현재 날짜와 시간 정보를 가져오고, toLocaleString() 메서드를 통해 지역화된 문자열 형태로 변환합니다. 최종적으로 이 값은 문자열로 변환되어 <p> 태그 안의 텍스트 사이에 그대로 삽입됩니다.
이처럼 JSP 표현식을 활용하면 별도의 out.print() 코드 없이도 동적인 값을 손쉽게 화면에 출력할 수 있습니다.