jsp에서 include할 때 객체 넘겨 주기

,

PHP 같은 경우는 include하면 그냥 부모 파일과 변수를 공유한다. 물론 jsp에서도 <%@include file="..." %>를 사용하면 마찬가지로 변수를 공유하게 된다. 그런데 문제는 jsp는 이렇게 하면 이클립스에서 에러 표시가 왕창 뜨고 자동완성도 안 된다는 거다. 난 이런 꼴이 보기 싫어서 다른 방법을 찾았다.

request 객체에 setAttribute하면 같은 request 안에서는 항목을 공유할 수 있다. 객체도 세팅할 수 있다.

<h2>Uplink Status</h2>
<%
request.setAttribute("item", item);
request.setAttribute("type", type);
request.setAttribute("configuration", configuration);
if(configuration.getOption_mode().equals("local")){ %>
    <jsp:include page="include/bridge_view_uplink_status_local.jsp" />  
<% }else{ %>
    <jsp:include page="include/bridge_view_uplink_status_remote.jsp" />
<% } %>

이렇게 하고, include된 파일 안에서는 아래처럼 쓰면 된다.

// include/bridge_view_uplink_status_local.jsp
<jsp:useBean id="item" scope="request" type="bridge.datamodel.DMBridgeInfo" />
<jsp:useBean id="type" scope="request" type="java.lang.Integer" />
<jsp:useBean id="configuration" scope="request" type="bridge.datamodel.DMConfiguration" />

이렇게 하면 이클립스 에러도 안 나고, 자동완성 기능도 잘 작동한다.

카테고리

,

17년차 풀스택 웹 개발자 Mytory입니다

웹 개발에서도 중요한 것은 개념입니다.
이 블로그에는 제가 개발하며 익힌 개념들을 정리합니다.

워드프레스를 오래 다뤄 왔고 강의도 두 편 찍었습니다.
– 인프런 “워드프레스 제대로 개발하기 어드민 편, 클라이언트 편
– 클래스101 “누구나 할 수 있는 워드프레스 홈페이지 만들기 – 기획부터 출시까지 한 방에 OK

유튜브 채널에 워드프레스 관련 팁들을 올리고 있습니다.

👉 소개 더 보기

대표글

댓글 남기기