JAVA/jsp&servlet
JSP-표준 액션태그 ,자바 빈즈
coffee.
2023. 11. 24. 18:37
JSP에서 XML기반 태그는 표준 액션 태그와 커스텀 태그가 있습니다.
표준 액션 태그는 많이 쓰이는 기능을 JSP스펙 으로 이미 정의 한 다음 컨테이너 마다 동일하게 구현 되어 있습니다.
"jsp"라는 접두어를 사용합니다.
커스텀 태그는 개발자들이 자주 사용하는 기능을 자바 클래스 형태로 구현한 후 JSP태그와 매핑 시킵니다.
JSP페이지에서 매핑한 JSP태그 이름으로 연결된 자바 클래스의 메소드를 실행시키는 것이 커스텀 태그 입니다.
태그의 구조는 <태그 라이브러리 이름 : 태그 이름> 입니다.
표준 액션 태그
표준 액션 태그는 <jsp:태그 이름> 형식으로 되어 있습니다.
<jsp:forward>
forward 표준 액션 태그는 서블릿에서 RequestDispatcher 객체의 forward()메소드 기능을 실행합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>This is Main!</h1>
<jsp:forward page="forward.jsp"></jsp:forward>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>This is Forward!</h1>
</body>
</html>
main.jsp를 실행하면 forward에의해 forward.jsp로 이동되어 실행됩니다.
<jsp:include>
include 표준 액션 태그는 서블릿에서 RequestDispatcher 객체의 include()메소드 기능을 실행합니다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>Header</h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>Content</h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>Footer</h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="header.jsp"></jsp:include>
<jsp:include page="content.jsp"></jsp:include>
<jsp:include page="footer.jsp"></jsp:include>
</body>
</html>
<jsp:useBean>
자바빈은 자바빈 규약 또는 자바빈 관례에 따라 만들어진 클래스입니다.
자바빈 규약은 다음과 같습니다.
- 자바빈 클래스는 'default' 패키지가 아닌 '특정' 패키지에 속해야 한다
- 기본 constructor가 선언이 되어야 한다
- 멤버 변수는 Property라고 부르며, 접근자는 private으로 선언되어야 한다
- getter와 setter가 있어야 하며 이는 public으로 선언되어야 한다.
자바 빈은 JSP에서 자바 코드를 줄이기 위해 사용합니다.
<jsp:useBean class="Bean" id="bean">
이 태그는 다음과 같은 의미입니다.
Bean bean=new Bean();
<jsp:setProperty>와 <jsp:getProperty>를 사용해 getter와 setter를 이용할 수 있습니다.