11일차

|

주요내용 : Core Tag Library(C:if c:choose c:forEach c:url), 다국어 Tag Library

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import = "java.util.*, sec01.ex02.MemberBean"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
	<c:set var="id" value="hong" scope="page"/>
	<c:set var="pwd" value="1234" scope="page"/>
	<c:set var="name" value="${'홍길동'}" scope="page"/>
	<c:set var="age" value="${22}" scope="page"/>
	<c:set var="height" value="${177}" scope="page"/>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>조건문 실습</title>
</head>
<body>
	<c:if test="${true}">
		<h1>항상 참입니다</h1>
	</c:if>
	
	<c:if test="${11==11}">
		<h1>두 값은 같습니다.</h1>
	</c:if>
	
	<c:if test="${11!=31}">
		<h1>두 값은 같지 않습니다.</h1>
	</c:if>
	
	<c:if test="${(id=='hong') && (name=='홍길동')}">
		<!--String이므로 ' ' 으로 비교 -->
		<!--id와 name이 선언되어있으므로 EL태그에서 사용가능함. -->
		<h1>아이디는 ${id}이고, 이름은 ${name}입니다.</h1>
	</c:if>
	
	<c:if test="${age==22}"> <!-- int이르모 바로 비교 -->
		<h1>${name}의 나이는 ${age}살입니다.</h1>
	</c:if>
	
	<c:if test="${height>160}">
		<h1>${name}의 키는 160보다 큽니다.</h1>
	</c:if>
</body>
</html>

================

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import = "java.util.*, sec01.ex02.MemberBean"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
	<c:set var="id" value="hong" scope="page"/>
	<c:set var="pwd" value="1234" scope="page"/>
	<c:set var="name" value="${'홍길동'}" scope="page"/> <!-- 주석처리시 이름을 입력하세요 라는 오류 메세지 출력 -->
	<c:set var="age" value="${22}" scope="page"/>
	<c:set var="height" value="${177}" scope="page"/>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>조건문 실습</title>
</head>
<body>
	<table border="1" align="center">
			<tr align=center bgcolor="lightgreen">
			<td width="7%"><b>아이디</b></td>
			<td width="7%"><b>비밀번호</b></td>
			<td width="7%"><b>이름</b></td>
			<td width="7%"><b>나이</b></td>
			<td width="7%"><b>키</b></td>
		</tr>
	<c:choose>
		<%-- <c:when test="${name==null}"> --%> <!-- JSP의 주석처리 기호 -->
		<c:when test="${empty name}">
			<tr align="center">
				<td colspan=5> 이름을 입력하세요!!</td> <!-- td가 아래 5개있으므로 5개로 열 병합 -->
			</tr>
		</c:when>
		<c:otherwise> // name이 정상적이면 회원정보를 출력.
			<tr align=center>
			<td>${id}</td>
			<td>${pwd}</td>
			<td>${name}</td>
			<td>${age}</td>
			<td>${height}</td>
		</tr>
		</c:otherwise>
	</c:choose>
	</table>
</body>
</html>

=======================

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import = "java.util.*, sec01.ex02.MemberBean"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	List dataList = new ArrayList();
	dataList.add("hello");
	dataList.add("world");
	dataList.add("안녕하세요!!");
%>
<c:set  var="list"  value="<%=dataList  %>" />
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>반복문 실습</title>
</head>
<body>
// <c:forEach var="변수이름" items="반복할객체이름" begin="시작값" end="마지막값"
//	step="증가값" varStatus="반복상태변수이름">

	<c:forEach var="i" begin="1" end="10" step="1" varStatus="loop">
		i=${i} &nbsp;&nbsp;&nbsp; 반복횟수: ${loop.count} <br>
	</c:forEach>
	<br>
	
	<c:forEach var="i" begin="1" end="10" step="2">
		5 * ${i} = ${5*i}<br>
	</c:forEach>
	<br>
	
	<!-- c:set에서 정의한 data를 가져옴. list에 해당하는 것이 객체이면 점을 이용해 가져옴. -->
	<c:forEach  var="data" items="${list}" >
       ${data } <br> 
   	</c:forEach>
	<br>
	
	<c:set var="fruits" value="사과, 파인애플, 바나나, 망고, 귤" />
	<c:forTokens var="token" items="${fruits}" delims=",">
		${token}<br>
	</c:forTokens>
</body>
</html>

========================

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import = "java.util.*, sec01.ex02.MemberBean"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
	List membersList = new ArrayList();
	MemberBean m1 = new MemberBean("son", "1234", "손흥민", "son@test.com");
	MemberBean m2 = new MemberBean("ki", "4321", "기성용", "ki@test.com");
	MemberBean m3 = new MemberBean("park", "1212", "박지성", "park@test.com");
	membersList.add(m1);
	membersList.add(m2);
	membersList.add(m3);
%>
<c:set  var="membersList"  value="<%=membersList  %>" />
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>회원 정보 출력창</title>
</head>
<body>
	<table border="1" align="center">
		<tr align=center bgcolor="lightgreen">
			<td width="7%"><b>아이디</b></td>
			<td width="7%"><b>비밀번호</b></td>
			<td width="5%"><b>이름</b></td>
			<td width="5%"><b>이메일</b></td>
		</tr>
		<c:forEach var="i" begin="0" end="2" step="1">
			<tr align="center">
			<td>${membersList[i].id}</td>
			<td>${membersList[i].pwd}</td>
			<td>${membersList[i].name}</td>
			<td>${membersList[i].email}</td>
		</tr>
		</c:forEach>
	</table>
</body>
</html>

============================

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import = "java.util.*, sec01.ex02.MemberBean"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
	List membersList = new ArrayList();
	MemberBean m1 = new MemberBean("son", "1234", "손흥민", "son@test.com");
	MemberBean m2 = new MemberBean("ki", "4321", "기성용", "ki@test.com");
	MemberBean m3 = new MemberBean("park", "1212", "박지성", "park@test.com");
	membersList.add(m1);
	membersList.add(m2);
	membersList.add(m3);
%>
<c:set  var="membersList"  value="<%=membersList  %>" />
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>회원 정보 출력창</title>
</head>
<body>
	<table border="1" align="center">
		<tr align=center bgcolor="lightgreen">
			<td width="7%"><b>아이디</b></td>
			<td width="7%"><b>비밀번호</b></td>
			<td width="5%"><b>이름</b></td>
			<td width="5%"><b>이메일</b></td>
		</tr>
		<!-- item 속성에 membersList를 할당한 후 실행하여 자동으로 var의 member에 membersList의 MemberBean 객체가 차례대로 할당
		member7 보단 member8 방법이 좋음.-->
		<c:forEach var="member" items="${membersList}">
			<tr align="center">
			<td>${member.id}</td>
			<td>${member.pwd}</td>
			<td>${member.name}</td>
			<td>${member.email}</td>
		</tr>
		</c:forEach>
	</table>
</body>
</html>

============================

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import = "java.util.*, sec01.ex02.MemberBean"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="contextPath" value="${pageContext.request.contextPath}"/>
<c:url var="url1" value="/test01/member1.jsp">
	<c:param name="id" value="hong"/>
	<c:param name="pwd" value="1234"/>
	<c:param name="name" value="홍길동"/>
	<c:param name="email" value="hong@test.com"/>
</c:url>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>c:url 태그 실습</title>
</head>
<body>
	<%-- <a href='${contextPath}/text01/member1.jsp'>회원정보출력</a> --%>
	<a href='${url1}'>회원정보출력</a>
</body>
</html>

=============================

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>catch 태그</title>
</head>
<body>

<c:catch var="ex">
name 파라미터의 값 = <%=request.getParameter("name") %><br>
<%if(request.getParameter("name").equals("test")){ %>
${param.name }은 test입니다.
<%} %>
</c:catch>
<p>
<c:if test="${ex!=null}">
익센셥이 발생하였습니다.<br>
${ex}
</c:if>
</body>
</html>

=================================

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>입력창</title>
</head>
<body>
	<form action="result2.jsp" method="post">
	아이디 : <input type="text" name="userID"><br>
	비밀번호 : <input type="password" name="userPw"><br>
	<input type="submit" value="로그인">
	<input type="reset" value="다시입력">
	</form>
</body>
</html>

=============================

<%@ 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" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>결과창</title>
</head>
<body>
// -- 이중조건문 구현 --
	<c:if test="${empty param.userID}">
		아이디를 입력하세요.<br>
		<a href="login.jsp">로그인 창</a>
	</c:if>
	<c:if test="${not empty param.userID}">
		<c:if test="${param.userID=='admin'}">
		<h1>관리자로 로그인 했습니다.</h1>
		<form>
			<input type=button value="회원정보 삭제하기"/>
			<input type=button value="회원정보 수정하기"/>
		</form>
	</c:if>
	<c:if test="${param.userID!='admin'}">
		<h1>환영합니다.
			<c:out value="${param.userID}"/>님!!!</h1>
	</c:if>
	</c:if>
</body>
</html>

==============================

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>구구단 입력창</title>
</head>
<body>
	<h1>출력할 구구단의 수를 지정해 주세요.</h1>
	<form method=get action='guguResult2.jsp'>
	출력할 구구단 : <input type=text name='dan' /><br>
	<input type="submit" value="구구단 출력">
	</form>	
</body>
</html>

===========================

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>구구단 결과창</title>
</head>
<body>
	<c:set var="dan" value="${param.dan}"/>
	<table border="1" width="800" align="center">
		<tr align="center" bgcolor="lightgreen">
			<td colspan="2">
				<c:out value="${dan}"/> 단 출력</td>
		</tr>
	<c:forEach var="i" begin="1" end="9" step="1">
		<c:if test="${i%2==0}"><!-- 짝수 -->
			<tr align="center" bgcolor="#CCFF66">
		</c:if>
		<c:if test="${i%2==1}"><!-- 홀수 -->
			<tr align="center" bgcolor="#CCCCFF">
		</c:if>
		<td width="400">
			<c:out value="${dan}"/> * <c:out value="${i}"/>
		</td>
		<td width="400">
			<c:out value="${i*dan}"/>
		</tr>
	</c:forEach>
	</table>
</body>
</html>

===================================

mem.name = 홍길동
mem.address = 서울시 강남구
mem.job = 회계사

mem.name = \ud64d\uae38\ub3d9
mem.address = \uc11c\uc6b8\uc2dc \uac15\ub0a8\uad6c
mem.job = \ud68c\uacc4\uc0ac

mem.name = hong kil-dong
mem.address = kang-nam gu, seoul
mem.job = account

========================

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import="java.util.*"
    pageEncoding="UTF-8"
    isELIgnored="false"
%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> // fmt태그를 이용하기 전에 반드시 설정해야함.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL 다국어 기능</title>
</head>
<body>
	<fmt:setLocale value="en_US"/>
<%--<fmt:setLocale value="ko_KR"/>--%>
	<h1>
		회원정보<br><br>
		<fmt:bundle basename="resource.member"> // resource 패키지 아래 member 프로퍼티 파일을 읽어옴.
		이름:<fmt:message key="mem.name"/><br> // <fmt:message>태그의 key 속성에 프로퍼티 파일의 key를 지정하여 값을 출력.
		주소:<fmt:message key="mem.address"/><br>
		직업:<fmt:message key="mem.job"/><br>
		</fmt:bundle>
	</h1>
</body>
</html>

'Bitcamp > BITCAMP - Servlet & JSP' 카테고리의 다른 글

게시판  (0) 2019.08.26
12일차  (0) 2019.08.19
10일차  (0) 2019.08.13
9일차  (0) 2019.08.12
8일차  (0) 2019.08.09
And