EL

2.VO 객체 = ? Bean 객체 도출

Jungsoomin :) 2020. 7. 14. 10:52

JSP 와 Springframework 의 Bean 객체는 엄연히 다르다. Vo 객체라고 보면 좋을 듯 하다.

 

해당 글은 JSP의 Bean,VO(Value Object)의 필드 값 도출이다.

 

Springframework 커멘드 객체ModelAndView 객체로 request에 넘겨주는 일이 많아보이고 많이 하게된다. 물론 그 과정은 spring MVC가 대신해주지만 이해하지 않고는 힘들다는 느낌을 많이 받는다.

그러다보니 EL 을 많이 알고 잘 이해해야겠다는 생각이 들 수 밖에는 없고..

 

표현식은 Property로 연결되는 것 같다. getter setter is~ set~ 타입의 메서드 이름 을 Property 명이라고 한다.

 문법은 ${} 안에 프로퍼티 명을 기입함으로써 연동하거나 출력하는 방식으로 작동한다.

 

표현식에 바로 기본 객체를 쓸 수 있던 이유도 Jsp페이지를 관리하는 pageContext 클래스에 getter로 기본객체 리턴 메서드가 정의되어있기 때문이다.

 

. 연산자로 Property를 나타낸다.  ${myBean.id} 는 즉 request.getAttribute("myBean") -> myBean.getId() 메서드의 출력이고 매핑이라고 봐야할 듯 싶다.

<body>

	 <%
  MyBean mb = new MyBean();
    mb.setName("백기선");
    mb.setId(100);
    
    request.setAttribute("attr1", "value1");
    request.setAttribute("myBean", mb);
    %>
    
    <h1>${attr1}</h1>
    
    <h1>Bean 객체 도출</h1>
    <h3>${myBean }</h3>
    
    <h1>Property 를 이용한 값 도출</h1>
    <h3>myBean.name : >>>>>  ${myBean.name }</h3>
    <h3>myBean.id : >>>>>  ${myBean.id }</h3>
    <hr />
    <h3>myBean["name"] : >>>>  ${myBean["name"] }</h3>
    <h3>myBean["id"] : >>>>  ${myBean["id"] }</h3>
    	
    	<hr />
    	
    <jsp:include page="elEx4Sub.jsp"/>

</body>

pageContext는 기본객체를 리턴하는 Property를 가진다고 했으니..JSP 페이지에서 request는 즉 

 

${pageContext.request.localName} 는   pagecontext.getRequest() -> request.getLocalName() 을 의미하는 것으로 봐야겠다.

 

표현식의 11가지 객체 중에 pageContext만 Map이 아닌 pageContext클래스에서 만들어진 해당 JSP 페이지의 객체인거고..

<h1> ${myBean.name } , ${myBean.id }</h1>

	<hr />
	<h3>pageContext 기본객체의 get프로퍼티를 이용한 출력</h3>
pageContext.request : >>>>>>>>>>>  ${pageContext.request}

	<hr />
	<h3>LocalName 메서드 EL사용</h3>
	pageContext.request.localName:  >>>>>>>>>>>>  ${pageContext.request.localName}

'EL' 카테고리의 다른 글

5.EL에서의 논리연산자와 비교연산자  (0) 2020.07.14
4.EL에서의 비교연산자  (0) 2020.07.14
3.파라미터, 헤더, 쿠키, 전역 변수  (0) 2020.07.14
2.List, Array 표현  (0) 2020.07.14
1.Map  (0) 2020.07.14