청체맨
20
2019-06-04 21:45:50 작성 2019-06-04 22:26:12 수정됨
3
238

표현언어로 빈즈 출력하는법


빈즈를 쓰는데 다음과 같이

<%=bean.getEmail()%> 표현식으로는 잘 출력이 되는데 

    ${bean.email}   표현언어로는 출력이 안됩니다. 

어떻게 해야할까요

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 

태그lib도 선언했습니다.

<%

MemberDAO mdao = new MemberDAO();

MemberBean bean = new MemberBean();

bean=mdao.MemberInfo((String)session.getAttribute("id"));

%>

MemberDAO에서  로그인한 id의 정보를 MemberInfo메소드를 통해서 bean으로 값을 받아오는 형식인데 bean으로 받아서 출력할 때 표현식으론 출력이되는데 표현언어로는 안됩니다.


0
0
  • 답변 3

  • John Suhr
    1k
    2019-06-04 22:16:36 작성 2019-06-04 22:17:03 수정됨
    <jsp:useBean class="com.springproject.vo.Bean" id="bean" scope="request"/>
    <jsp:setProperty name="bean" property="email" value="example@example.com"/>
    
    ${bean.email} -> example@example.com 출력

    음... 잘 되는 것 같은데요

    안되는 부분의 구체적인 코드를 올려보실래요?

    1
  • John Suhr
    1k
    2019-06-04 22:39:36

    <% %> 영역과 ${} 영역은 다른 영역입니다.. jsp 컴파일된 클래스 파일을 보시면 아시겠지만 아래처럼 부가적인 처리를 해줘야 EL에서 사용 가능합니다.

    <%
      bean = ...
    %>
    
    // 스크립트릿 영역 변수를 밖에서도 사용 가능케 함
    <c:set var="bean" value="<%=bean%>" />
    
    ${bean.email}


    1
  • 청체맨
    20
    2019-06-04 22:46:19

    감사합니다 덕분에 해결했습니다

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.