1. JSTL + 액션태그로 사용되는 EL
JSTL 개요 및 설치 (Java Standard Tag Library)
: JSP의 경우 HTML 태그와 같이 사용되어 전체적인 코드의 가독성이 떨어짐.
- JSTL에서 기본적인 기능들을 구현해놓은 라이브러리(문자열 출력, 반복문, 조건문 등)
- 자바 코드를 사용하지 않아도 쉽게 기본 기능의 구현이 가능
그래서 이러한 단점을 보완하고자 만들어진 태그 라이브러리가 JSTL
JSTL의 경우 우리가 사용하는 Tomcat 컨테이너에 포함되어 있지 않으므로, 별도의 설치를 하고 사용함.
1. http://jakarta.apache.org/ 접속 한 후, 좌측의 Taglibs 클릭
2. Apache Standard Taglib클릭
3. Standard 1.1 download 클릭
4. binaries 클릭
5. Jakarta-taglibs-standard-1.1.2.zip 클릭
6. 압축해제
7. 라이브러리 파일 복사
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
taglib을 설정해주고, <c: 써서 밑에 prefix의내용들이 뜬다면 성공한 것이다!
사용방법)
<c:set var="jelly" value="<%= new com.company.dto.Jelly() %>"/>
<c:set target="${jelly }" property="name" value="마이꾸미"/>
<p>젤리이름: <c:out value="${jelly.name }"/></p> ==>출력값은 마이꾸미
<c:set target="${jelly }" property="price" value="1500"/>
<p>젤리가격: <c:out value="${jelly.price }"/></p> ==>출력값은 1500
JSP 태그 라이브러리
■ 액션태그로 사용되는 EL
1. <jsp: getProperty name=”member” property=”name”/>
${member.name}
choose 형식:
<c:choose>
<c: when test=””></c:when>
<c: when test=””></c:when>
<c: when test=””></c:when>
<c:otherwise></c:otherwise/>
</c:choose>
사용방법:
<c:set var="whentest002" value="${'a' }"/>
▶문자를 값으로 설정하고 싶다면 다운표 넣어줘야 함!
<c:when test="${whentest002 eq 'a' }"><p>apple</p></c:when>
<c:when test="${whentest002 == 'b' }"><p>apple</p></c:when>
<c:when test="${whentest002.equals('c') }"><p>coconut</p></c:when>
▶eq랑 .equals()랑 ==는 동일한 결과를 가져다 준다
if 형식:
<c:if test="test할 조건">
만약에 test할 조건이 참이면 이 위치가 실행된다.
</c:if>
사용방법:
위의 예제로 본다면, 출력 값은 10이다.
c:out으로 값을 출력해도 되지만, 쓰지 않고 EL형식으로 출력해도 결과는 동일하다.
CSS + JSTL
CSS를 따로 배우진 않지만, 오늘 잠깐 스타일태그 안에 JSTL을 사용할 수 있다는 것을 보여주기 위해
약간의 꾸밈을 해보았다. radius가 모서리를 둥글게 해 주는 것이고 padding은 변으로 부터 멀어지게, border는 테두리 속성을 말한다.
위 사진은 아래 코드의 결과물이다.
<c:if>는 style태그 안에서도 사용이 가능하다!
'배운 내용 정리 > WEB' 카테고리의 다른 글
[학습정리] 2020.02.03 - EL, frontController, EL절대경로 (0) | 2020.02.03 |
---|---|
[학습정리] 2020.01.31 - forEach (0) | 2020.02.02 |
[학습정리] 2020.01.29 - EL 연습 (0) | 2020.01.30 |
[학습정리] 2020.01.28 - EL, DBCP 호스팅 (0) | 2020.01.29 |
페이지이동, IP확인, UTF-8, queryString (0) | 2020.01.27 |