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를 이용할 수 있습니다.