<c:set> 태그를 이용한 실습(2)
이번에는 태그를 이용해 너무 길어서 사용하기 불편한 변수나 속성 이름을 간결하게 만들어 보겠습니다. 먼저 JSP에서 태그를 이용해 다른 페이지로 이동하는 방법입니다. 지금까지는 표현 언어로 pageContext.request.contextPath 같은 긴 속성을 그대로 사용했는데, <c:set> 태그를 이용하면 긴 이름의 속성이나 변수를 줄여서 사용할 수 있습니다.
<a href="${pageContext.request.contextPath}/memberForm.jsp">회원가입하기</a>
로그인창에서 회원 가입창으로 이동할 때 미리 <c:set> 태그를 이용해 pageContext.request.contextPath 속성 이름을 contextPath로 줄여서 사용하고 있습니다. 복잡한 웹 페아지에서 속성 이름을 짧게 줄이면 코드의 가독성이 좋아집니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="contextPath" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인창</title>
</head>
<body>
<form action="result.jsp">
아이디 : <input type="text" size=20 /><br>
비밀번호: <input type="password" size=20 /><br>
<input type="submit" value="로그인" /> <input type="reset" value="다시입력" />
</form>
<br><br>
<%--
<a href="${pageContext.request.contextPath}/memberForm.jsp">회원등록하기</a>
--%>
<a href="${contextPath}/test03/memberForm.jsp">회원등록하기</a>
</body>
</html>
이번에는 <c:set> 태그를 이용해 바인딩된 속성 이름이 긴 경우 더 짧은 변수로 대체해서 사용하는 방법을 알아보겠습니다.
${membersMap.membersList[0].id}
속성 이름이 길면 사용하기가 불편하고 가독성도 떨어집니다. 그래서 미리 <c:set> 태그를 이용해 사용하기 편리한 이름인 membersList로 설정한 후 인덱스를 이용해 회원 정보를 출력했습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.util.*, sec01.ex01.*"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="membersList" class="java.util.ArrayList" />
<jsp:useBean id="membersMap" class="java.util.HashMap" />
<%
membersMap.put("id", "park2");
membersMap.put("pwd", "4321");
membersMap.put("name", "박지성");
membersMap.put("email", "park2@test.com");
MemberBean m1 = new MemberBean("son", "1234", "손흥민", "son@test.com");
MemberBean m2 = new MemberBean("ki", "4321", "기성용", "ki@test.com");
membersList.add(m1);
membersList.add(m2);
membersMap.put("membersList", membersList);
%>
<c:set var="membersList" value="${membersMap.membersList}"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 정보 출력창</title>
</head>
<body>
<table border=”1” align="center" >
<tr align=center bgcolor="#99ccff">
<td width="20%"><b>아이디</b></td>
<td width="20%"><b>비밀번호</b></td>
<td width="20%" ><b>이름</b></td>
<td width="20%"><b>이메일</b></td>
</tr>
<tr align=”center”>
<td>${membersMap.id}</td>
<td>${membersMap.pwd}</td>
<td>${membersMap.name}</td>
<td>${membersMap.email }</td>
</tr>
<tr align=”center”>
<td>${membersList[0].id}</td>
<td>${membersList[0].pwd}</td>
<td>${membersList[0].name}</td>
<td>${membersList[0].email}</td>
</tr>
<tr align=”center”>
<td>${membersList[1].id}</td>
<td>${membersList[1].pwd}</td>
<td>${membersList[1].name}</td>
<td>${membersList[1].email}</td>
</tr>
</table>
</body>
</html>
다음은 실행 결과입니다.

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| <c:if> 태그를 이용한 실습 (0) | 2026.02.15 |
|---|---|
| <c:remove> 태그를 이용한 실습 (0) | 2026.02.12 |
| <c:set> 태그를 이용한 실습(1) (0) | 2026.02.06 |
| Core 태그 라이브러리 사용하기 & <c:set> 태그를 이용한 실습 (0) | 2026.02.03 |
| JSP 표준 태그 라이브러리(JSTL) (0) | 2026.01.31 |