자바빈즈가 나오게 된 배경
(디자인+자바개발 혼합) (jsp)
-> 프로그램이 복잡하고 유지보수가 어렵다
그래서... 자바빈즈가 나오게 됨.
jsp에서 자바코드를 사용하지 않자가 아니라 가능한 적게 사용하면서 자바빈즈 즉 자바 클래스 파일을 함께 써서
혼합방식의 코드 설계방식의 단점을 보완.
자바빈즈
웹상에서(jsp파일 내부) 불러다 사용하는 클래스(dto)
자바빈즈 만드는 조건(자바 파일 만드는 조건)
1. public class로 작성
외부에서 언제든 메소드 호출하기 위한 목적
2. 멤버변수 앞에는 private 선언
3. 메소드는 setter, getter
자바빈즈 액션태그
자바빈즈에 대한 코드를 태그형태로 만들어서 사용하기 쉽게 만들어준 태그
자바빈즈 액션태그 (자바코드 대신 액션태그사용, 의미같음)
-디자이너들도 알아볼 수 있도록 사용.
1. import="패키지명.클래스명", BeanDTO 빈즈객체명 = new BeanDTO(); <=>
<jsp:useBean id="빈즈객체명" class="패키지명.클래스명" scope="사용범위" />
2. 빈즈객체명.set멤버변수명(저장할값); <=>
<jsp:setProperty name="빈즈객체명" property="멤버변수명" value="저장할값" />
value="<%=변수명%>"
(property속성으로 Setter Method 종류를 구분할 수 있다)
***
한번에 많은 데이터의 값을 설정할때: <jsp:setProperty name="dto" property="*" />
-> 입력받은 갯수만큼 setter method를 자동으로 호출한다
(한가지 조건이 충족되어야함! input박스의 name과 자바클래스파일의 멤버변수명이 같아야함)
3. 빈즈객체명.get멤버변수명(); <=>
<jsp:getProperty name="빈즈객체명" property="멤버변수명" />
자바코드를 작성하는 경우와 자바빈즈액션태그를 사용하는 것의 차이점?
많은 양의 데이터를 입력받아 set 혹은 get하게 되었을때 액션태그 사용하는 것이 더 편하다.
ex) <jsp:setProperty name="dto" property="*" />
액션태그에서 주석달때
ctrl + shift + /
=> 눈에 보이지 않는 주석(<%-- ~ --%>)
'JSP' 카테고리의 다른 글
| [JSP]JDBC(oracle/mysql) (0) | 2021.02.08 |
|---|---|
| [JSP]세션, 쿠키 (0) | 2021.02.05 |
| [JSP]jsp 파일만으로 간단한 홈페이지 만들기 (0) | 2021.02.04 |
| [JSP]데이터 공유 영역 (page, request, session, application), xml 태그 규칙, 서블릿 url 매핑 경로 (0) | 2021.02.04 |
| [JSP]액션태그 개요, include, forward, 다른 페이지에서 데이터 공유하기, setAttribute, getAttribute (0) | 2021.02.03 |