728x90

 

EL

JSP 2.0버전에서 추가된 표현언어로, Expression Language의 약자

화면에 데이터 출력 시키는 것이 메인 기능

 

화면에 표현하고자 하는 부분을  ${ value }과 같은 형식으로 코드로 구현

(jQuery의 $표시와 혼동 주의)

JSP의 <%= 출력할 데이터 %>나 System.out.print(출력할 데이터)와 비슷

<%= request.getParameter(“name”) %> ${ param.name }

 

 

EL 연산자 기호

EL 연산자가 적용되는 우선순위

 

 

EL 기본 내장 객체

 

 

예시

데이터 가져올 뷰화면 코드

<form action=”loginEx.jsp” method=”get” >
	<label for=”id”>아이디 : </label> 
    <input type=”text” name=”id” id=”id” <label for=”pass”> 
    <input type=”text” name=”id” id=”id”/><br>
    
    <label for=”pass”> 암호 : </label> 
    <input type=”password” name=”pass” id=”pass” /><br> 
    <input type=”submit” value=”로그인” />
</form>

 

데이터 받을 jsp 페이지

<h1>표현식 버전</h1>
아이디 : <%=request.getParameter(“id”) %>
암호 :  <%=request.getParameter(“pass”) %>

<h1>EL 버전</h1>
아이디 : ${param.id }
암호 : ${param.pass }

 

728x90
반응형
728x90

 

 

에러메시지

javax.propertyNotFoundException: [age] 특성이 [action.model.vo.Person] 유형에 없습니다.

 

상황

El 내장객체 xxxScope 사용하여 값 출력 중 발생

 

원인

나이를 끌어오는 정보에서 값을 받아오는 부분이 게터명에서 데이터를 끌어오는 건데, 서블릿에서 Person p = new Person(name, gender, age);의 age에서 나이를 불러오는 줄 알고 age로 적어서 에러 뜸

vo 클래스의 필드명과 생성자들을 중간 nai로 바꿔서 헷갈린 듯

 

해결

requestScope.person.age에서

requestScope.person.nai로 코드 수정

 

 

 

728x90
반응형

+ Recent posts