본문으로 건너뛰기
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 CSS가 어려운 이유 — 프로젝트 중심 실전 CSS 강의 소개 2023-04-13
📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12
📌 [번역] CSS 코드 냄새 2013-01-01

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" />

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

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

Leave a Reply

Your email address will not be published. Required fields are marked *