ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSLT] EL
    WEB/JSTL 2022. 9. 9. 19:38

    표현 언어(EL, Expression Language)

    -JSP의 전달값나 변수값 등 자료를 출력할 때의 번거로움을 간단히 해결하기 위해 만들어진 출력 문법.

    -JSP의 문법을 html5에서 좀 더 구분하기 쉽고 오류를 줄여서 운용하기 위해 개발된 언어.

    -주로 pageContext, request, session, application에 전달되는 Attribute의 값을 getter을 이용하지 않고 출력할 때 많이 사용함.

    *JSP 파일 body 안에 넣어서 사용한 코드

    1. 문법 사용

    <h3>JSP 문법 사용 1: <%="Hello" %></h3>
    <h3>JSP 문법 사용 2: <% out.println("Hello"); %></h3>
    <h3>EL 문법 사용: ${"Hello" }</h3>

     

    2. 자료형

    정수형: ${10}<br>
    실수형: ${5.6}<br>
    문자형: ${"홍길동"}<br>
    논리형: ${true}<br>
    null: ${null}<br>

     

    3. 산술 연산

    \${10-2}는 모양 그대로 출력
    ${10-2}는 계산된 결과 출력
    10과 2의 합: ${10+2 }<br>
    \${10-2}: ${10-2}<br>
    \${10*2}: ${10*2}<br>
    \${10/2}: ${10/2}<br>
    \${10%2}: ${10%2}<br>
    \${10 mod 2}: ${10 mod 2}<br>

     

    4. 관계 연산(비교 연산)

    \${10==2}= ${10==2}<br>
    \${10 eq 2}= ${10 eq 2}<br>
    \${10<2}= ${10<2}<br>
    \${10 lt 2}= ${10 lt 2}<br>
    \${5>4}: ${5>4}<br>
    \${empty("")}: ${empty("")}<br>

     

    5. 서로 다른 자료형 간의 연산

    \${"2"+5}= ${"2"+5}<br>
    \${"2"+"5"}= ${"2"+"5"}<br>
    \${"2"*5}= ${"2"*5}<br>
    \${null+1}= ${null+1}<br>
     

     

    6. 문자열 연결(EL 3.0 추가)

    \${"문자"+="열 "+="연결"}=${ "문자"+="열 "+="연결"}

     

    7. 서버 객체의 내용을 getAttribute 메서드 없이 사용

    -EL을 이용할 때 서버객체의 내용을 출력하고자 할 때 어떤 객체인지 명시하지 않고

    Attribute 이름만 사용한다면, 사용하려는 Attribute가 있는 객체를 순서(pageContext->request->session->application)대로 검사하여 가장 먼저 발견된 내용이 출력됨.

    <%
    pageContext.setAttribute("name","홍길서");
    request.setAttribute("name","홍길동");
    session.setAttribute("name","홍길남");
    application.setAttribute("name","홍길복");
    %>
    
    <h3>
    JSP 문법: <%=request.getAttribute("name") %><br>
    JSP 문법: <% String str=(String)request.getAttribute("name"); %>
    <%=str %><br>
    </h3>
    
    <h3>
    EL 문법: ${name }<br>
    EL 문법: ${requestScope.name }<br>
    EL 문법: ${sessionScope.name }<br>
    EL 문법: ${applicationScope.name }<br>
    </h3>
    <!-- 
    name이라는 Attribute를 갖고 있는 객체 중에서 순서적으로 가장 우선인 객체 내용이 출력됨.
    -->


    Parameter

     

    1. JSP Parameter

    JSP 코드: <%=request.getParameter("id") %>

     

    2. equals의 null 값 비교

    <%=request.getParameter("id").equals("hong") %>
    <!-- 
    equals 메서드는 "null 값"으로 비교할 때 오류를 발생시킴. 이러한 오류를 방지하기 위해 아래와 같은 연산을 사용
    -->
    
    request.getParameter("id")!=null && 
    request.getParameter("id").equals("hong") =>
    <%=request.getParameter("id")!=null &&  
    request.getParameter("id").equals("hong")%>

     

    3. EL 식 '==' 연산자 사용 결과

    \${param.id=="hong"} -> ${param.id=="hong"}


    <pre>태그

    -입력한 그대로 화면을 보여주는 태그.

    -주로 코딩 내역을 화면에 표시할 때 사용 .

    <!-- equals()를 사용할 때 null 값 비교 오류해결 방법 -->
    <pre>
    if(request.getParameter("id")!=null){
    	if(request.getParameter("id").equals("hong")){
    	}
    }
    </pre>

    댓글

Designed by Tistory.