Intellij JSP - JavaBean (자바빈 사용법)

2 minute read

Java Bean (자바빈 사용법)

  • useBean

      <jsp:useBean id="[자바빈 이름]" class="[자바빈 클래스 이름]" scope="[범위]"/>
    
    • id : 새롭게 생성하는 자바빈 객체의 이름을 명시한다.
    • class : 패키지 이름을 포함한 자바빈 클래스의 완전한 이름을 명시한다.
    • scope : 자바빈 객체가 속성으로서 저장될 영역(Scope)을 지정한다.
      • page, request, session, application 중 하나를 값으로 갖는다. 기본 값은 page이다.
    • type : class 속성 대신에 type 속성을 사용할 수 있다. type 속성은 자바빈 클래스가 이미 존재한다고 가정하고 있으며 만약 존재하지 않을경우 객체를 생성하지 않고 에러를 발생시킨다.
  • setProperty

      <jsp:setProperty name="[자바빈 이름]" property="[프로퍼티 이름]" value="[값]"/>
    
    • name : 프로퍼티의 값을 지정할 자바빈 객체 이름. 액션 태그의 id속성에서 지정한 값과 동일한 값이 지정된다.
    • property : 값을 지정할 프로퍼티 이름
    • value: 프로퍼티 값, 표현식 사용이 가능하다.
    • param : value 속성 대신에 param 속성을 사용할 수도 있다. param 속성은 request 기본 객체가 간직하고 있는 파라미터 값을 자바빈 객체의 프로퍼티 값으로 지정할 때 사용된다.
      • <jsp:setProperty name="user" property="id" param="id"/>
      • request 기본 객체의 id 파라미터 값을 자바빈 객체의 id 프로퍼티 값으로 지정
  • <jsp:setProperty name="user" property="*"/>
    
    • property 속성의 값을 “*“로만 지정하면 각각의 프로퍼티의 값으로서 같은 이름을 갖는 파라미터의 값을 가져와 자동으로 저장한다.
    • 이때 주의할 점은 각각의 파라미터 이름이 자바빈 객체의 프로퍼티 이름과 대소문자까지 정확하게 같아야 한다.
    • Project - Join

      • User.java
          public class User{
                  String name;
                  String id;
                  String pw;
                  String email;
        
                  public User(String name, String id, String pw, String email) {
                          this.name = name;
                          this.id = id;
                          this.pw = pw;
                          this.email = email;
                  }
        				
                  // getter, setter 생략
          }
        
      • join2.html
          <!DOCTYPE html>
          <html lang="en">
          <head>
                  <meta charset="UTF-8">
          </head>
          <body>
          <h2>회원 가입</h2>
          <form action="join_process.jsp" method="post" name="textform">
                  <table>
        
                          <tr>
                                  <td>이름<br/></td>
                                  <td><input type="text" name="name"></td>
                          </tr>
        
                          <tr>
                                  <td>ID :</td>
                                  <td><input type="text" name="id"></td>
                          </tr>
        
                          <tr>
                                  <td>Password :</td>
                                  <td><input type="password" name="pw"></td>
                          </tr>
        
                          <tr>
                                  <td>이메일<br/></td>
                                  <td><input type="text" name="email"></td>
                          </tr>
                  </table>
                  <br/>
                  <input type="submit" value="회원 가입">
                  <input type="reset" value="초기화">
          </form>
          </body>
          </html>
        

      • join2.jsp
          <%@ page contentType="text/html;charset=UTF-8" language="java" %>
          <jsp:useBean id="user" class="beans.User" scope="page"/>
          <jsp:setProperty name="user" property="*"/>
          <html>
          <head>
          </head>
          <body>
          <h2>입력한 정보</h2><br/>
          이름 : <%= user.getName() %><br/>
          ID : <%= user.getId() %><br/>
          PW : <%= user.getPw() %><br/>
          Email : <%= user.getEmail() %><br/>
          </body>
          </html>
        

  • getProperty

      <jsp:getProperty name="[자바빈 이름]" property="[프로퍼티 이름]"/>
    
    • name : 의 id속성에서 지정한 자바빈 객체의 이름
    • property : 가져올 프로퍼티의 이름
    • join2.jsp의 표현식을 getProperty로 바꿀 수 있다.
    • join2.jsp
        <%@ page contentType="text/html;charset=UTF-8" language="java" %>
        <jsp:useBean id="user" class="beans.User" scope="page"/>
        <jsp:setProperty name="user" property="*"/>
        <html>
        <head>
        </head>
        <body>
        <h2>입력한 정보</h2><br/>
        <%--이름 : <%= user.getName() %><br/>--%>
        <%--ID : <%= user.getId() %><br/>--%>
        <%--PW : <%= user.getPw() %><br/>--%>
        <%--Email : <%= user.getEmail() %><br/>--%>
        이름 : <jsp:getProperty name="user" property="name"/><br/>
        ID : <jsp:getProperty name="user" property="id"/><br/>
        PW : <jsp:getProperty name="user" property="pw"/><br/>
        Email : <jsp:getProperty name="user" property="email"/><br/><br/>
        </body>
        </html>
      
  • Servlet을 포함한 JSP 2.1 웹 프로그래밍 입문에서 완성까지

Categories:

Updated:

Leave a comment