JSP 4일차 : 자바빈즈

자바빈즈

  • 자바빈은 JSP에서 사용되는 데이타를 저장 및 관리하기 위한 컴포넌트를 의미한다.

  • 자바빈즈의 규칙

    • 멤버변수는 반드시 private으로 준다
    • setter & getter 메서드는 public으로 준다
    • 멤버변수명은 폼태그의 name과 반드시 동일해야 한다
  • 액션태그

    • useBean : 자바빈 컴포넌트를 사용하기 위한 액션태그 (클래스 생성과 같음)
    • setProperty : 자바빈 인스턴스에 저장하기 위한 액션태그
    • getProperty : 자바빈 인스턴스에서 데이타를 얻기위한 액션태그
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>ex1 beans form</title>
  </head>
  <body>
    <form action="Ex2_beansAction.jsp" method="post">
      이름 : <input type="text" name="name" size="6"><br>
      나이 : <input type="text" name="age" size="6"><br>
      주소 : <input type="text" name="addr" size="6"><br>
      <input type="submit" value="submit!">
    </form>

  </body>
</html>
<%@page import="test.day0426.PersonDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>ex2 beans action </title>
  </head>
  <body>

    <%
    request.setCharacterEncoding("UTF-8");
    String name = request.getParameter("name");
    String age = request.getParameter("age");
    String addr = request.getParameter("addr");
    PersonDTO dto = new PersonDTO();
    dto.setName(name);
    dto.setAge(age);
    dto.setAddr(addr);
    %>
    <pre>
	** 일반적인 방법으로 데이타 읽어서 출력하기 **
	이름 : <%=dto.getName() %>
	나이 : <%=dto.getAge() %>
	주소 : <%=dto.getAddr() %>
	</pre>
    <hr>
    <jsp:useBean id="dto2" class="test.day0426.PersonDTO" />
    <jsp:setProperty property="name" name="dto2" />
    <jsp:setProperty property="addr" name="dto2" />
    <jsp:setProperty property="age" name="dto2" />


	<pre>
	** 자바빈즈를 이용해 각각 데이타 읽어서 DTO에 넣어 출력하기 **
	이름 : <jsp:getProperty property="name" name="dto2" />
	나이 : <jsp:getProperty property="age" name="dto2" />
	주소 : <jsp:getProperty property="addr" name="dto2" />
	</pre>
    
    <hr>

    <jsp:useBean id="dto3" class="test.day0426.PersonDTO"></jsp:useBean>
    <jsp:setProperty property="*" name="dto3"/> <!-- 개편하다...! -->
    <pre>
	** 자바빈즈를 이용해 한꺼번에 데이타 읽어서 DTO에 넣어 출력하기 **
	이름 : <%=dto3.getName() %>
	나이 : <%=dto3.getAge() %>
	주소 : <%=dto3.getAddr() %>
	</pre>

  </body>

Categories:

Updated:

Comments