고래씌

[JSP] 7-2. Action Tag(EL 연산자) 본문

Server/JSP과 Servlet

[JSP] 7-2. Action Tag(EL 연산자)

고래씌 2023. 12. 18. 12:50

1. EL에서 사용하는 연산자

 

▶ index.jsp

 

 

▶ ElOperationServlet.java (Servlet)

package com.kh.controller;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.kh.model.vo.Person;

/**
 * Servlet implementation class ElOperationServlet
 */
@WebServlet("/operation.do")
public class ElOperationServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

    public ElOperationServlet() {
        super();
    }


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setAttribute("big", 10);
		request.setAttribute("small", 3);
		
		request.setAttribute("sOne", "안녕");
		request.setAttribute("sTwo", new String("안녕"));
		
		request.setAttribute("pOne", new Person("홍길동", 20, "남자"));
		request.setAttribute("pTwo", null);
		
		ArrayList<String> list1 = new ArrayList<>();
		request.setAttribute("lOne", list1);
		
		ArrayList<String> list2 = new ArrayList<>();
		list2.add("문자열");
		request.setAttribute("lTwo", list2);
		
		request.getRequestDispatcher("views/1_EL/02_elOperation.jsp").forward(request, response);
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

 

 

▶ 02_elOperation.jsp

 

1) 산술연산

 

 

- 기존방식

 

 

- EL 연산

<p>
   * EL연산 <br>
   10 + 3 = ${big + small} <br>
   10 - 3 = ${big - small} <br>
   10 * 3 = ${big * small} <br>
   10 / 3 = ${big / small} 또는 ${big div small} <br>
   10 % 3 = ${big % small} 또는 ${big mod small}
</p>

 

 

- 결과화면

 

 

2) 숫자간 대소 비교 연산자

- 기존방식

 

 

- EL 연산

 

  /, %, >, <, >=, <= 바로 쓰면 오류가 발생할수 있어서 예약어 사용하는 것을 권장

 

 

- 결과화면

 

 

3) 동등 비교 연산자

- 기존방식

 

 

- EL 연산

 

☞ EL에서 == 비교는 자바의 equals와 같은 역할을 한다!

☞ EL에서 문자열 리터럴 제시시 홀따옴표던 쌍따옴표던 상관 없다

 

 

- 결과화면

 

 

 

4) 객체가 null인지 혹은 리스트가 비어있는지 체크하는 연산

- EL 연산

 

☞ 객체는 empty로 비교해야한다!

 

 

- 결과화면

 

 

5) 논리연산자

- EL 연산

 

 

- 결과화면

 

 

 

연습문제

 

 

- 결과화면