JSP 페이지를 개발 하면서 간단하게 액션 태그에 대해 정리해보는 내용입니다.
누군가 물어봅니다. 액션 태그가 뭐야? 음... 바로 떠오르지가 않기 때문에 정리를 먼저 하고 다시 대답하기로 하겠습니다.
액션 태그는 JSP 페이지에서 사용할 수 있는 여러 기능을 제공하는데, 이러한 기능을 통해 웹 브라우저에서 자바 애플릿을 실행시키고, 다른 페이지로 이동하고, 다른 페이지의 실행 결과를 현재 페이지로 가져올 수 있는 기능들이 있습니다.
- JSP 에서 제공하는 액션 태그
(1) Forword 액션 태그, <jsp:forward page="sub.jsp">, param 액션 태그 <jsp:param name="id" value="boy" />
현재의 페이지에서 다른 특정 페이지로 전환할 때 사용합니다. (바로 넘어감)
<jsp:forward page="forward_param.jsp">
<jsp:param name="id" value="boy" />
<jsp:param name="pwd" value="12345" />
</jsp:forward>
(2) Include 액션 태그, <jsp:include>
<h1> Hello </h1>
<jsp:include page="include02.jsp" flush="true" />
<h1> World </h1>
이 동작을 하면, 저 페이지를 읽고 돌아옵니다. 즉, Hello Wolrd 가 찍힙니다.
(3) java Bean 액션 태그, <jsp:useBean>
자바 빈 관련 액션 태그는 3가지가 있습니다.
(3)-1. <jsp:useBean> 액션 태그
- 자바빈 객체를 생성한다.
<jsp:useBean id="test" class="com.bean.testBean" scope="page" />
- id 속성은 생성될 자바빈 객체(인스턴스)의 이름을 명시 한다.
- class 속성은 객체가 생성될 자바빈 클래스를 기술 (패키지명을 포함한 자바 클래스)
- scope 속성은 자바빈 객체의 유효 범위로 자바빈 객체가 공유되는 범위를 지정한다. 생략시 default는 "page"
( page, request, session, application )
- 이것은 자바에서 객체를 생성하는 다음의 문장과 동일하다.
SimpleBean test = new TestBean();
- <jsp:useBean) 액션 태그에서 id 속성값에 지정한 이름이 이미 존재하는 경우 자바빈 객체를 새로 생성하는 것이 아니라 기존에 생성된 객체를 그대로 사용한다. (id, class, scope 모두 같아야 같은 객체가 된다.)
(3)-2. <jsp:setProperty> 액션 태그
- 생성된 자바빈 객체에 프로퍼티 값을 저장하기 위해 사용된다.
<jsp:setProperty name = "testBean" property="name" value="lee" />
- name 속성은 자바빈 객체의 이름을 명시한다 (필수)
- property 속성은 프로퍼티 명을 기술한다. (필수)
- value 속성은 프로퍼티에 저장할 값을 기술한다. (생략 가능)
<jsp:useBean id="testBean" class="com.bean.testBean" scope="page">
<jsp:setProperty name="testBean" property="name" />
</jsp:useBean>
- 위의 <jsp:setProperty name="testBean" property="name" /> 액션 태그는 자바빈 클래스의 setName() 메소드와 자동 연동된다.
- 즉 프로퍼티명 name 은 자바빈 클래스의 name 프로퍼티를 의미한다.
- Property 속성값을 * 를 주면 모든 프로퍼티 값이 세팅된다. 그러나 폼으로부터 넘어오는 파라미터의 이름과 개수가 프로퍼티의 이름과 개수와 일치해야 한다.
<jsp:useBean id="testBean" class="com.bean.testBean" scope="page">
<jsp:setProperty name="testBean" property="*" />
</jsp:useBean>
- 폼으로부터 넘어온 파라미터 명과 자바빈의 프로퍼티가 일치하지 않는 경우 param 속성을 기술해야 한다.
<jsp:useBean id="testBean" class="com.bean.testBean" scope="page">
<jsp:setProperty name="testBean" property="name" param="userName" />
</jsp:useBean>
- 폼으로부터 넘어온 name 의 파라미터 명이 "userName" 일 경우 위와 같이 param을 기술해 준다.
3. <jsp:getProperty> 액션 태그
- 자바빈 객체에서 저장된 프로퍼티 값을 사용하기 위해 사용된다.
<jsp:getProperty name = "testBean" property="name" />
- name 속성은 자바빈 객체의 이름을 명시한다. (필수)
- property 속성은 프로퍼티 명을 기술한다. (필수)
<jsp:useBean id="testBean" class="com.bean.testBean" scope="page" />
<jsp:getProperty name="testBean" property="name" />
- useBean 으로 생성한 testBean 의 name 속성을 가져온다.
출처: https://hyeonstorage.tistory.com/94 [개발이 하고 싶어요]
마지막으로, 누군가
'Room 102. Back-end > JAVA' 카테고리의 다른 글
뉴 렉쳐 [Java 프로그래밍] 강의 (3) (0) | 2020.05.20 |
---|---|
뉴 렉쳐 [Java 프로그래밍] 강의 (2) (0) | 2020.05.19 |
뉴 렉쳐 [Java 프로그래밍] 강의 (1) (0) | 2020.05.15 |
"Java 개발 환경에 대해, ( java SE,EE 가 가진 API 외 )" (0) | 2019.09.16 |
"Java 가 뭐야?" (0) | 2019.07.23 |