Criming
코딩으로 업삼기
Criming
전체 방문자
오늘
어제
  • 분류 전체보기 (29)
    • Programming (28)
      • Spring (5)
      • Database (2)
      • JSP (6)
      • Java (10)
      • 탐구 및 해결 (1)
      • 연습문제 (3)
      • 예제 (1)
    • 자격증 (0)
    • 기타 (1)
      • 블로그 운영 (0)
      • 문서 (1)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 자바규칙
  • redirect
  • Tomcat
  • param
  • Escape문자
  • print()
  • aws
  • println()
  • spring
  • 표현언어
  • 아스키코드
  • jvm
  • jsp
  • java
  • sendRedirect
  • HttpuURLConnection
  • Java SE
  • Eclipse
  • JDK
  • 인스턴스
  • ec2
  • printf()
  • ASCII
  • System.out
  • try-catch
  • Java EE
  • main()
  • jre
  • forward
  • json

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Criming

코딩으로 업삼기

Programming/JSP

[JSP] JSP 액션 태그 <jsp:useBean>

2022. 10. 17. 03:41

JSP Action이란?

<jsp:useBean id="이름" scope="page | request | session | application" class="클래스명" type="타입명" />

자바 코드(<%%> 등)를 사용하지 않고 JSP액션 태그를 사용하여 웹 개발을 할 수 있도록 해준다.

Scope 속성으로 사용 범위를 지정해줄 수 있으며, id 속성으로 변수 이름을 지정하여 다른 곳에서 getAttribute()로 값을 꺼내어 사용 할 수 있다.

 

[ 대표적인 액션태그 ]

액션 설명
<jsp:useBean> 자바 인스턴스를 준비한다. 보관소에서 자바 인스턴스를 꺼내거나 자바 인스턴스를 새로 만들어 보관소에 저장하는 코드를 생성한다.
(자바 인스턴스 = Java Bean)
<jsp:setProperty> 자바 빈의 프로퍼티 값을 설정한다.
자바 객체의 settet()를 호출하는 코드를 생성한다.
<jsp:getProperty> 자바 빈의 프로퍼티 값을 꺼낸다.
자바 객체의 getter()를 호출하는 코드를 생성한다.
<jsp:include> 정적(HTML, 텍스트 파일 등) 또는 동적(서블릿/JSP) 자원을 including하는 자바 코드를 생성한다.
<jsp:forward> 현재 페이지의 실행을 멈추고 다른 정적, 동적 자원으로 forwarding하는 자바 코드를 생성한다.
<jsp:param> jsp:include, jsp:forard, jsp:params의 자식 태그로 사용한다.
ServletRequest 객체에 매개변수를 추가하는 코드를 생성한다.
<jsp:plugin> OBJECT 또는 EMBED HTML 태그를 생성한다.
<jsp:element> 임의의 XML

(참고 사이트)

https://atoz-develop.tistory.com/m/entry/JSP-%EC%95%A1%EC%85%98-%ED%83%9C%EA%B7%B8%EC%99%80-jspuseBean-%EC%82%AC%EC%9A%A9-%EC%98%88%EC%A0%9C

 

JSP 액션 태그와 jsp:useBean 사용 예제

JSP Action이란? JSP에서 기본으로 제공하는 태그들의 집합을 'JSP Action'이라 한다. JSP Action은 각 태그에 맞는 자바 코드로 변환된다. 즉 JSP Action 태그를 사용하지 않더라도 스크립트릿 에 자바 코드

atoz-develop.tistory.com


예제

예제1) 기본예제 이해하기 <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>

(Ex1.java)

package actionTag;

public class Ex1 {
	private String data;

	public String getData() {
		return data;
	}

	public void setData(String data) {
		this.data = data;
	}
}

(form_ex1.jsp)

<body>
	<form action="beans_ex1.jsp">
		전달한 데이터 : <input type="text" name="data">
		<input type="submit" value="전송">
	</form>
</body>

(beans_ex1.jsp)

<!-- 객체생성 : Ex1 ex1 = new Ex1(); -->
<jsp:useBean id="ex1" class="actionTag.Ex1"/>

<!-- ex1.setData(data) -->
<!-- java ex1 클래스파일에 setData()메소드명을 set제거 후 소문자로 property에 지정해줌. -->
<jsp:setProperty property="data" name="ex1"/>

<!-- ex1.getData(); -->
전달받은 데이터 : <jsp:getProperty property="data" name="ex1"/>

예제2) jsp액션태그로 파라미터 값 받는방법(+ 한꺼번에 받기)

(Ex2.java)

package actionTag;

public class Ex2 {
	private String id;
	private String pw;
	private String confirmPw;
	private String name;
	private String email;
    
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	public String getConfirmPw() {
		return confirmPw;
	}
	public void setConfirmPw(String confirmPw) {
		this.confirmPw = confirmPw;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
}

(form_ex2.jsp)

<body>
	<form action="beans_ex2.jsp" method="post"><br>
		<input type="text" name="id" placeholder="아이디" /><br>
		<input type="password" name="pw" placeholder="비밀번호" /><br>
		<input type="password" name="confirmPw" placeholder="비밀번호 확인" /><br>
		<input type="text" name="name" placeholder="이름" /><br>
		<input type="text" name="email" placeholder="이메일" /><br>
		<input type="submit" value="회원 가입" /><br>
		<input type="reset" value="취소" />
	</form>
</body>

 

(beans_ex2.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:requestEncoding value="utf-8"/>

<jsp:useBean id="ex2" class="actionTag.Ex2" scope="page"/>
<jsp:setProperty property="*" name="ex2"/>

아이디 : ${ex2.getId()}<br>
비밀번호 : ${ex2.pw}<br>
비밀번호 확인 :  ${ex2.confirmPw}<br>
이름 :  ${ex2.name}<br>
이메일 :  ${ex2.email}<br>
<!-- 
<jsp:setProperty property="id" name="ex2"/>
<jsp:setProperty property="pw" name="ex2"/>
<jsp:setProperty property="confirmPw" name="ex2"/>
<jsp:setProperty property="name" name="ex2"/>
<jsp:setProperty property="email" name="ex2"/>

아이디 : <jsp:getProperty property="id" name="ex2"/><br>
비밀번호 : <jsp:getProperty property="pw" name="ex2"/><br>
비밀번호 확인 : <jsp:getProperty property="confirmPw" name="ex2"/><br>
이름 : <jsp:getProperty property="name" name="ex2"/><br>
이메일 : <jsp:getProperty property="email" name="ex2"/><br>
 -->
 
 <!-- JSP액션태그는 get호출 메소드를 객체명.파라미터명만 입력해주면 호출하도록 해준다. -->

'Programming > JSP' 카테고리의 다른 글

[JSP] RequestDispatcher().forward();  (0) 2022.10.14
[JSP] Redirect와 forward의 차이점(+sendRedirect )  (0) 2022.10.14
[JSP] JSTL와 JAR 다운방법  (0) 2022.10.13
[JSP] 표현언어(EL, ${ })과 Scope(객체범위)  (0) 2022.10.12
[JSP] Tomcat을 이용한 Eclipse 웹 자바 개발환경 세팅하기  (0) 2022.09.07
    'Programming/JSP' 카테고리의 다른 글
    • [JSP] RequestDispatcher().forward();
    • [JSP] Redirect와 forward의 차이점(+sendRedirect )
    • [JSP] JSTL와 JAR 다운방법
    • [JSP] 표현언어(EL, ${ })과 Scope(객체범위)
    Criming
    Criming

    티스토리툴바