JSP

자바 빈에서 정보를 얻어오는 액션태그

다음은 회원의 이름을 얻기 위해서 getName() 을 호출한 예입니다.

 

<%= member.getName()  %>

 

JSP 에서 getter 를 호출하기 위해서 스크립트릿(<% %>) 안에 자바 코드를 기술해야 합니다.

다음은 회원의 이름을 얻기 위해서 getName() 을 호출하는 대신 액션 태그를 사용한 예입니다.

 

 

 

 JSP 에서는 getter 를 위와 같이 호출하기보다는 액션 태그인 를 사용합니다. 왜냐하면 JSP 에서 HTML 태그와 자바 코드를 혼용하면 코드가 지저분해 지기 때문입니다. JSP 페이지에서는 HTML 태그와 함께 액션 태그를 사용하는 것이 코드가 깔끔해져서 가독성이 높아 집니다.

액션 태그는 자바 빈 객체 필드에 저장된 값을 알려줍니다.

액션 태그는 getter 를 호출하겠다는 의미이며 형식은 다음과 같습니다.

 

 

 get 으로 시작하는 메소드인 getter 는 액션 태그 중를 사용합니다. 액션 태그는 private 필드인 name 대신 getName() 을 호출하는 것이며 이를 위해서는 property 에 메소드 이름에서 get 다음에 나오는 첫 글자를 소문자로 바꾸어서 property 속성 값으로 적어줍니다.

name() 속성에는 태그엣 id와 반드시 일치해야 합니다.

 

 

  액션 태그의 id 값과 일치하는 값인 "member" 를   태그의 name 속성 값으로 기술하여  액션 태그로 생성한 자바 빈 객체에 접근합니다. 이렇게 접근하면 자바 빈 객체의 정보를 얻어올 수 있습니다. property () 속성은 자바 빈을 구성하는 여러 개의 필드 값을 알려주기 위한 여러 개의 getter 중에 어떤 것을 호출하는지를 구분하기 위해서 존재합니다. property에 설정한 값이 name 이면 첫 글자만 대문자로 지정하여 get 다음에 기술합니다. 이렇게 조합된 getName() 이 호출할 getter 가 됩니다.

자바 코드와 매핑시켜 보면 이해하기 쉽습니다.

 

<%= member.getName() %>

 

액션 태그의 name 속성 값은 메소드 앞에 붙은 레퍼런스 변수 이름인 member 를 의미합니다. property 속성 값은 get 다음에 기술된 Name 의 첫 글자만 소문자로 변경한 것입니다. property 속성 값으로 "name" 을 설정하면 액션 태그는 getName() 을 호출합니다.

 

자바 빈에 정보를 새롭게 설정하는 액션 태그

액션 태그는 자바 빈 객체 필드에 새로운 값을 설정합니다. 회원의 이름을 변경하기 위해서도 접근 제한자가 private 로 선언된 name 에 직접 접근할 수 없기 때문에 setter 인 setName() 을 호출해야 합니다. 다음은 MemberBean 클래스로 선언된 member 객체의 name 속성을 "전수빈" 이라는 값으로 변경하는 예입니다.

<% member.setName("전수빈"); %>

액션 태그는 이름을 변경하기 위해서 private 필드인 name 대신 public 메소드인 setName() 을 호출하기 위해서 사용합니다.

액션 태그는 setter 를 호출하겠다는 의미이며 형식은 다음과 같습니다.

 

 

다음은 회원의 이름을 새롭게 설정하기 위해서 setName() 을 호출하는 대신 액션 태그를 사용한 예입니다. set으로 시작하는 메소드인 setter 는 액션 태그 중 를 사용합니다. 다음은 액션 태그로 setName();을 호출한 예입니다.

 

 

 

태그에 사용되는 속성을 살펴봅시다.

 

name

name 속성에는 반드시 태그에서 id로 설정한 값과 일치시켜야 합니다.

 

 

 

property

태그는 set으로 시작하는 setter 를 호출하기 위한 액션 태그입니다. property 속성에 지정한 값에 의해서 호출하고자 하는 setter의 이름이 결정됩니다.  property 속성 값 "name" 의 첫 글자를 대문자로 변경하여 set 다음에 기술하면 setName  이 됩니다. 이렇게 조합된 setName() 이 호출할 setter가 됩니다.

이번에도 자바 코드와 매핑시켜 보겠습니다.

 

member.setName("전수빈");

 

value

setter 는 변경할 값을 전달해 주어야 합니다. 자바 코드에서는 매개 변수로 변경할 값을 전달하지만 액션 태그에서는 새롭게 변경할 값을 value 속성에 기술합니다. value 속성 값인 "전수빈"이 name에 저장할 값이 됩니다.

액션 태그도 어떤 의미를 갖는지 자바 코드와 매핑시켜 보겠습니다.

 

member.setName("전수빈");

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

 





자바 빈 프로퍼티 값 얻고 변경(getProperty, setProperty 액션 태그)
 

 

 

 



- 자바 빈 객체 생성 후 저장된 정보 출력하기


이름 :

아이디 :

 

-정보 변경한 후 변경된 정보 출력하기


 

이름 :

아이디 :



 

- 자바 빈 객체 생성 후 저장된 정보 출력하기

이름 : null
아이디 : null -정보 변경한 후 변경된 정보 출력하기

이름 : 전수빈
아이디 : pinksubin

 

자바 빈으로 회원 정보 처리하기

이번 장 서두에서 언급했듯이 자바 빈의 장점은 회원 가입시 입력한 정보를 하나로 묶어서 서버로 전송할 수 있다는 점입니다. 회원 가입 폼에서 입력받은 정보를 자바 빈 com.saeyan.javabeans.MemberBean에 저장하고 이를 조회하는 프로그램을 작성해 봅시다.

이번 예제에서 중점적으로 살펴볼 내용은 액션 태그를 사용해서 요청 파라미터 값을 손쉽게 자바 빈의 프로퍼티에 저장하는 과정입니다. 이를 위해서는 회원 정보를 입력받는 태그의 name 속성값과 자바 빈 프로퍼티의 이름을 반드시 일치시켜야 합니다.

이번 예제에서 작성할 파일들을 정리한 표입니다.

파일 이름 설명
MemberBean.java 회원의 정보를 저장하는 자바 빈
03_addMemeberForm.jsp 이름, 아이디, 별병, 비빌번, 이메일, 전화번호를 입력 받는 폼이다. [전송]  버튼을 누르면 JSP 파일(addMember.jsp) 로 입력된 정보가 전송된다.
03_addMember.jsp addMemberForm.jsp 문서에서 입력한 정보를 읽어 와서 자바 빈에 저장하고 자바 빈에 저장된 회원 정보를 얻어와 출력한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

 





회원의 정보 입력 폼
 

 

 

회원의 정보 입력 폼

 

 

 


    
         
         
    
    
         
         
    
    
         
         
    
    
         
         
    
    
         
         
    
    
         
         
    
    
    
        
        
    

 

 

이름
아이디
별명
비밀번호
이메일
전화번호

 

 


 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    request.setCharacterEncoding("UTF-8");

%>

 

 

 

 

 


Insert title here

 

 

 

입력 완료된 회원 정보

 



 
     
     
 
 
     
     
 
 
     
     
 
 
     
     
 
 
     
     
 
 
     
     
 

 

 

이름  
아이디  
별명  
비밀번호  
이메일  
전화번호  


 

입력 완료된 회원 정보

이름 최준호
아이디 braverokmd
별명 머나먼
비밀번호 1111
이메일 braverokmc@gmail.com
전화번호 031-242-1208

 

about author

PHRASE

Level 60  머나먼나라

은혜를 베풀어도 그 하는 방법이 도리에 어긋나게 되면 결코 인(仁)이 될 수가 없다. 가령 남에게 금품을 베푸는 것은 인이지만 잘못하게 되면 오히려 그 사람을 그르치게 하는 수가 있다는 말. -순자

댓글 ( 4)

댓글 남기기

작성

JSP 목록    more