728x90
반응형
자바에서 받아온 변수를 JSTL을 사용해서 출력, 수정 등 컨트롤할 수 있다.
JSTL을 이용해서 받아온 변수를 수정하거나 다루는방법을 정리해본다.
<c:set>에는 property, scope, target, value, var 5개의 속성을 사용할 수 있다.
- property : 프로퍼티 설정
- scope : 변수가 저장된 스코프이며, page, request, session, application 4가지 속성값을 가질 수 있고, 선언하지 않아도 기본값으로 page가 설정된다.
- target : 프로퍼티를 설정할 빈 또는 맵
- value : 변수에 넣을 값
- var : 변수명
1. 변수 선언하기 <c:set>
<!-- 기본선언 -->
<c:set var="item1" value="computer">
<!-- 출력 -->
${item1}
<!-- scope사용, 미선언시 기본값 "page" -->
<c:set var="item1" value="computer" scope="request">
2. 변수 삭제하기 <c:remove>
<!-- 해당 변수 삭제 -->
<c:remove var="item1"/>
<!--
해당 스코프의 변수 삭제
*스코프 선언하지 않을경우 모든스코프의 해당변수삭제
-->
<c:remove var="item1" scope="request"/>
3. 변수 출력하기 <c:out>
<!-- 변수 출력1 -->
<c:out value="${item1}"/>
<!-- 변수 출력2 (item1의 값이 null일시 "item"으로 출력) -->
<c:out value="${item1} default="item"/>
<!-- 변수 출력3 -->
${item1}
이렇게 JSTL 변수 기본 사용법을 마무리하고, 응용까지 해보자.
1. 변수값 변경
<!-- 변수 선언 -->
<c:set var="item1" value="computer"/>
<c:set var="item2" value="mouse"/>
<c:set var="tmp" value="${item1}"/>
${item1} <!-- 결과 : computer -->
${item2} <!-- 결과 : mouse -->
<!-- 변수값 바꾸기 -->
<c:set var="item1" value="${item2}"/>
<c:set var="item2" value="${tmp}"/>
${item1} <!-- 결과 : mouse-->
${item2} <!-- 결과 : computer-->
2. Map 변수선언 및 사용
<c:set var="myMap">
<c:catch>
<%
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
out.print(map);
%>
</c:catch>
</c:set>
<c:forEach var="entry" items="${myMap}">
Key: ${entry.key}, Value: ${entry.value}
</c:forEach>
위 코드에서는 <c:set> 태그를 사용하여 "myMap"이라는 이름의 변수를 선언하고,
JSP 페이지 내에서 Java 코드를 실행하여 Map 타입의 객체를 생성하고,
이 객체를 "myMap" 변수에 할당한다.
그 후 <c:forEach> 태그를 사용하여 "myMap" 변수에 저장된 Map 타입의 객체를 반복문으로 순회하며,
각각의 키와 값을 출력한다.
즉, 변수를 선언할 때 Map 타입을 사용할 수 없지만, 변수에 Map 타입의 객체를 할당하여 사용하는 것은 가능하다.
728x90
반응형
'JAVA' 카테고리의 다른 글
JSON이란, 기본 사용법 및 설명 (0) | 2023.05.04 |
---|---|
JSTL이란? JSTL 사용법, 라이브러리 추가 등 (0) | 2023.05.01 |
[프로그래머스]Lv2.올바른 괄호 자바정답(스택/큐) 및 해석 Stack 사용법 (0) | 2022.10.26 |
[SQL]LIKE 문자열검색, 사용법,패턴,예시 (0) | 2022.09.08 |
[SQL]NULLIF(표현식1,표현식2)설명, 사용방법, 예시 (0) | 2022.09.08 |