웹 & 프레임워크

expression tag대신 action tag로 표현하기

늘근이 2014. 5. 14. 08:57

사실 EL과 JSTL을 배운다면, JSP에서 이러한 복잡한 것들을 이용할 필요가 없다


Bean이란? 재사용가능한 컴포넌트 또는 setter, getter를 가지고 있는 VO를 칭한다.

JSP페이지에서 <%= %>이런식으로 표현할수도 있지만, 액션태그로도 가능하다.

 

<jsp:useBean id="memo" class="com.xxx.vo" scope="request"/>

이렇게 위에서 설정해주고,

<jsp:getProperty property="num" name="memo"/>

이런식으로 꺼내쓰면 된다.

 

위의 id와 name을 맞춰주면 된다.

request타입에서 얻어오는 애들. id에는 key역할을 하고, class는 그 VO가 들어있는 패키지를 설정해준다.

만일 useBean이 찾은 객체가 없다면, 아예 지가 하나 만든다. 따라서 findBean이 아닌 useBean으로 명명되어있는것이다.

이런이유로 없는 객체를 접근한다면 NPE가 발생하는것이 아니고, 걍 null이 뜰것이다. 정말 find만 하고 싶으면 class말고 type속성만 주면 참조하면된다. 이런방식이면 없으면 에러가 난다.

 

그렇지만 이런식으로 쓰게되면, setter와 getter가 eclipse가 자동생성하는대로 getXxx() 이런형식으로 만들어져있어야지 태그가 인식한다. 따라서 JSP에 직접 expression tag를 통해 출력하는 것보다 빨간줄로 에러를 잡아낼 확률이 좀 줄어든다. 

 

또한, 모든것을 useBean으로 대체할수 없으니, 오히려 머리만 복잡해지는 결과만 낳을수도 있다.

'웹 & 프레임워크' 카테고리의 다른 글

Request, Session, Application  (0) 2014.05.14
JSP의 include방식  (0) 2014.05.14
[EL] EL을 사용하는 이유  (0) 2014.05.14
[EL] el의 내장객체  (0) 2014.05.14
JSP 내장객체  (0) 2014.05.14