-
표현 언어(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>
'WEB > JSTL' 카테고리의 다른 글
[JSTL] 정보수정, 회원&관리자 변화, 탈퇴 (0) 2022.09.09 [JSTL] 로그인, 회원가입, 로그아웃 (0) 2022.09.09 [JSTL] import, redirect, format, form, checkbox (1) 2022.09.09 [JSTL] if, when, forEach (0) 2022.09.09 [JSTL] JavaServer pages standard Tag Library (0) 2022.09.09