본문 바로가기
개발자/자바 & 스프링

EL / sessionScope, requestScope / 비교연산자 영문 표기

by mansfield 2023. 2. 22.
반응형

EL (Expression Language) 표현 언어

- JSP 2.0 버전에서 추가된 것으로 <%= %>, out.print()와 같이 JSP에 쓰이는 JAVA 코드를 간결하게 사용하는 방법으로, 화면에 표현하고자 하는 코드를 ${value }의 형식으로 표현하여 작성하는 것 


Member라는 클래스에 test 라는 변수는 없음.

하지만 JSP에서 ${requestScope.m.test }로 test를 불러와도 값은 잘 나옴. ${ } EL에서 name, age, addr, test 등은 Member 객체의 변수가 아니라 getter를 이용해서 가져오는 것임. 

name, age, addr 은 접근제어지시자가 모두 private라서 직접접근이 불가능. 


sessionScope, requestScope

session과 request에 등록한 이름이 같을 경우 sessionScope, requestScope 이용해서 구분해 주지 않으면 requestScope에 등록된 데이터가 나옴(우선순위 높음)

따라서 requestScope는 별도의 표기 없이${이름 }로 바로 사용, sessionScope는 무조건 ${sessionScope.이름 } 으로 구분해서 사용. 


표현식에서 연산시 ${   } 안에 넣어서 연산함. ' $ ' 를 문자로 사용하고 싶을 경우 앞에 \ 를 붙여줌 ( \$ )

<tr>
    <td> \${num1 > num2 } </td>
    <td> ${num1 gt num2 } </td>
    
    <td> \${num1 < num2 } </td>
    <td> ${num1 lt num2 } </td> 
    
    <td> ${num1 >= num2 } </td>
    <td> ${num1 ge num2 } </td>
    
    <td> ${num1 =< num2 } </td>
    <td> ${num1 le num2 } </td>

    <td> ${num1 == num2 } </td>
    <td> ${num1 eq num2 } </td>
    
    <td> ${num1 != num2 } </td>
    <td> ${num1 ne num2 } </td>
</tr>

<%--
	비교연산자의 영문표기
    >  -> 	gt(greater)
    <  -> 	lt(little)
    >=  -> 	ge(greater or equal)
    <=  -> 	le(little or equal)
    ==  -> 	eq(equal)
    !=  -> 	ne(not equal)

--%>

300x250

댓글