일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 개발/환경
- 카카오 테크 캠퍼스
- 개발/Tools/프레임워크/Spring
- ai
- 개발/Java
- 개발
- 개발/Java/Spring
- 카카오테크캠퍼스
- ⌨️Developer
- 개발/보안
- ⌨️Developer/보안
- AI/ML
- 개발/네트워크
- 카테캠
- 개발/CS/OS
- 개발/언어/Java
- 개발/언어론
- 개발/컴퓨터네트워크
- AI/GPT
- 개발/CS/알고리즘
- 개발/에러
- 개발/webrtc
- 개발/OOP
- 개발/프레임워크&라이브러리
- 개발/Electron
- 대외활동/카카오테크캠퍼스
- 알고리즘
- electron
- 취업
- 개발/MySQL
- Today
- Total
봄수의 연구실
Expression Language(EL) 본문
Expression Language
EL은 JSP에서 Java 코드에 대한 보다 간단한 대안을 제공하는 Java 표현 언어의 약자입니다.
EL을 사용하면 JavaBeans 구성 요소에 저장된 애플리케이션 데이터에 더 쉽게 액세스할 수 있습니다.
예제로 알아보자
아래 User 클래스를 생성하고, 서블릿에 요청 속성으로 추가해봅시다
public class User {
private String name;
private String email;
// constructor, getters, setters...
}
User user = new User();
user.setName("John Doe");
user.setEmail("john@example.com");
request.setAttribute("user", user);
RequestDispatcher dispatcher = request.getRequestDispatcher("user.jsp");
dispatcher.forward(request, response);
그런 다음 JSP 파일(user.jsp)에서 EL을 사용하여 User
개체의 속성에 액세스할 수 있습니다.
<html>
<body>
<h1>Welcome, ${user.name}!</h1>
<p>Your email is: ${user.email}</p>
</body>
</html>
여기서 ${user.name}
및 ${user.email}
은 요청 범위에 저장된 “user” 객체의 “name” 및 “email” 속성에 액세스하는 EL 표현식입니다. 이러한 속성의 값은 결과 HTML 페이지에 표시됩니다.
${user.name}
은 Java 코드에서 user.getName()
을 호출하는 것과 같습니다. 그러나 EL을 사용하면 구문이 훨씬 더 깨끗하고 단순해집니다.
ETC. Operation .
, Scope
EL 표현식에서 ‘.’ 연산자는 객체의 속성을 탐색하는 데 사용됩니다.
이를 통해 중첩된 프로퍼티에 액세스하기 위해 긴 get 메서드 체인을 사용해야 하는 Java의 "게터 지옥"에 빠지지 않고도 프로퍼티에 깔끔하고 간단하게 액세스할 수 있습니다.
코드 스니펫은 또한 EL의 자동 유형 강제 기능(예: 문자열을 숫자로 변환)과 EL이 널 값을 우아하게 처리하는 기능도 보여줍니다.
EL의 범위와 관련하여 ${name}과 같이 지정된 범위가 없는 경우, EL 해석기는 가장 가까운 범위(페이지 범위)에서 시작하여 일치하는 항목을 찾을 때까지 더 넓은 범위(요청, 세션, 애플리케이션)로 이동하여 "이름"을 찾습니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'DEV > Java' 카테고리의 다른 글
Spring MVC @ModelAttribute (0) | 2023.05.19 |
---|---|
Servlet filter (0) | 2023.05.19 |
Servlet의 상태 정보 저장 (0) | 2023.05.19 |
Servlet (0) | 2023.05.19 |
Spring MVC (1) | 2023.05.19 |