JSP 액션(Action) 요소란?
JSP 액션 요소는 XML 문법 구조를 사용하여 서블릿 엔진의 동작을 제어하는 특수한 태그입니다. 액션을 활용하면 다음과 같은 작업을 수행할 수 있습니다.
- 페이지 요청 시점에 파일을 동적으로 삽입
- JavaBeans 컴포넌트의 재사용
- 사용자를 다른 페이지로 전달(forward)
- 자바 플러그인(Java Plugin)을 위한 HTML 생성
액션 요소는 XML 표준을 따르기 때문에 문법이 단 하나로 통일되어 있습니다. 기본 형식은 다음과 같습니다.
<jsp:action_name attribute = "value" />
즉, 액션 요소는 미리 정의된(predefined) 기능이라고 할 수 있으며, 별도의 선언 없이 태그만으로 바로 사용할 수 있습니다.
JSP 액션 요소의 종류
다음 표는 JSP에서 사용할 수 있는 대표적인 액션 태그 10가지를 정리한 것입니다.
| 번호 | 액션 태그 및 용도 |
|---|---|
| 1 | <jsp:include> 페이지가 요청되는 시점에 지정한 파일을 포함시킵니다. |
| 2 | <jsp:useBean> 지정한 JavaBean을 찾거나, 존재하지 않으면 새로 인스턴스를 생성합니다. |
| 3 | <jsp:setProperty> JavaBean 객체의 속성(property) 값을 설정합니다. |
| 4 | <jsp:getProperty> JavaBean의 속성 값을 가져와 출력 결과에 삽입합니다. |
| 5 | <jsp:forward> 현재 요청을 새로운 페이지로 전달(forward)합니다. |
| 6 | <jsp:plugin> 자바 플러그인을 실행하기 위한 OBJECT 또는 EMBED 태그를 브라우저 종류에 맞게 자동 생성합니다. |
| 7 | <jsp:element> XML 요소를 동적으로 정의합니다. |
| 8 | <jsp:attribute> 동적으로 정의된 XML 요소의 속성(attribute)을 정의합니다. |
| 9 | <jsp:body> 동적으로 정의된 XML 요소의 본문(body) 내용을 정의합니다. |
| 10 | <jsp:text> JSP 페이지 및 JSP 문서에서 템플릿 텍스트(template text)를 작성할 때 사용합니다. |
자주 사용되는 액션 태그 정리
jsp:include vs jsp:forward
<jsp:include>는 다른 파일의 실행 결과를 현재 페이지에 포함시키는 반면, <jsp:forward>는 처리 흐름 자체를 다른 페이지로 넘깁니다. 공통 헤더·푸터를 재사용할 때는 include를, 페이지 이동이 필요할 때는 forward를 사용하는 것이 일반적입니다.
JavaBeans 관련 액션
<jsp:useBean>, <jsp:setProperty>, <jsp:getProperty> 세 가지는 세트로 사용됩니다. useBean으로 빈 객체를 확보한 뒤, setProperty로 값을 담고 getProperty로 화면에 출력하는 패턴이 표준적인 활용 방식입니다.
마무리
JSP 액션 요소는 스크립틀릿(scriptlet) 코드를 줄이고, 로직과 화면을 분리하여 유지보수성을 높이는 데 큰 도움이 됩니다. 특히 include, forward, useBean 계열은 실무에서 가장 많이 사용되므로 각 태그의 역할과 차이를 정확히 이해해 두는 것이 좋습니다.