본문 바로가기

수업 복습하기/JSP

Day 04 - module02 + path + attribute01

728x90
728x90

= module02 =

< 04include-ex-main >

<%-- sub.jsp 위치 --%>
<%-- include 액션 태그 사용하기 --%>
<%-- 절대경로를 사용하기 --%>
<jsp:include page="/03module/day04/04include-ex-sub.jsp"></jsp:include>
<div>
<h1>main 페이지 컨텐츠</h1>
<a href="https://www.yahoo.com"> 야후1 </a> <br>
<a href="https://www.yahoo.com"> 야후2</a>
</div>

< 04include-ex-sub>

<!-- ul.menu>li.menu-item*5>a>lorem1 -->
<ul class="menu">
	<li class="menu-item">
	<a href="#">Lorem.</a>
	</li>
	<li class="menu-item">
	<a href="#">Corrupti.</a>
	</li>
	<li class="menu-item">
	<a href="#">Maxime.</a>
	</li>
	<li class="menu-item">
	<a href="#">Officiis.</a>
	</li>
	<li class="menu-item">
	<a href="#">Labore.</a>
	</li>
</ul>


< 05request-main >

<div>
main contents....
<br>
name: <%=request.getParameter("name") %>
</div>
<jsp:include page="/03module/day04/05request-sub.jsp"></jsp:include>

< 05request-sub>

<div>
sub contents......

<br>

name: <%=request.getParameter("name") %>
</div>


< 06request-param-main >

<h1>main contents</h1>

<%
Enumeration<String> iter = request.getParameterNames();

while (iter.hasMoreElements()) {
%>
	<p><%= iter.nextElement() %></p>
	
<%
}
%>

<hr>
<h2>sub start</h2>
<jsp:include page="/03module/day04/06request-param-sub.jsp">
	<jsp:param value="seoul" name="city"/>
</jsp:include>

<hr>
city:<%= request.getParameter("city") %>

< 06request-param-sub >

<div>

<%
Enumeration<String> iter = request.getParameterNames();

while (iter.hasMoreElements()) {
%>
	<p><%= iter.nextElement() %></p>
	
<%
}
%>

</div>


< 07request-param-ex-main>

<h1>main ex contents</h1>
<jsp:include page="07request-param-ex-sub.jsp">
	<jsp:param value="apple" name="food"/>
	<jsp:param value="bts" name="group"/>
	<jsp:param value="butter" name="song"/>
	</jsp:include>
<%-- 쿼리 스트링 바꾸지 않고, ?city:jeju X
sub.jsp에서 food : apple 이라고 출력되도록 할 것
jsp:include 요소의 content를 변경해보도록 해보세요. --%>

< 07request-param-ex-sub>

<h1>sub ex contents</h1>

city : <%= request.getParameter("city") %> <br>

food : <%= request.getParameter("food") %> <br>

group : <%= request.getParameter("group") %> <br>


< 08request-param-main >

<%-- menu  --%>
<jsp:include page="08request-param-sub.jsp">
	<jsp:param value="link1" name="menu1"/>
	<jsp:param value="link2" name="menu2"/>
	<jsp:param value="link3" name="menu3"/>
</jsp:include>
	
<div>
	<h1>main contents</h1>
</div>

< 08request-param-main1>

<jsp:include page="08request-param-sub.jsp">
<jsp:param value="city1" name="menu1"/>
<jsp:param value="city2" name="menu2"/>
<jsp:param value="city3" name="menu3"/>
</jsp:include>

<div>
<h1>main1 contents</h1></div>

< 08request-param-sub>

<h1>메인 컨텐츠 (더하기 연산)</h1>
<jsp:include page="09request-param-ex-sub.jsp">
	<jsp:param value="5" name="num1"/>
	<jsp:param value="6" name="num2"/>
</jsp:include>


< 09request-param-ex-main>

<h1>메인 컨텐츠 (더하기 연산)</h1>
<jsp:include page="09request-param-ex-sub.jsp">
	<jsp:param value="5" name="num1"/>
	<jsp:param value="6" name="num2"/>
</jsp:include>

< 09request-param-ex-sub>

<div>
	<%= request.getParameter("num1") %>
		+
		<%= request.getParameter("num2") %>
		= 
		<%= request.getParameter("num1") + request.getParameter("num2") %>
</div>

<hr>
<div>
<%
int n1 = Integer.parseInt(request.getParameter("num1"));
int n2 = Integer.parseInt(request.getParameter("num2"));
%>

<%= n1 %> + <%= n2 %> = <%= n1 + n2 %>

</div>


< 10post-param-main >

<form action=""method="post">
<!-- (input:text+br)*2+input:s -->
<input type="text" name="city" id="jeju">
<br>
<input type="text" name="song" id="mafia">
<br>
<input type="submit" value="전송">
</form>
<jsp:include page="10post-param-sub.jsp">
	<jsp:param value="trump" name="person"/>
	</jsp:include>

< 10post-param-sub>

<div>

city : <%= request. getParameter("city") %> <br>
song : <%= request.getParameter("song") %> <br>
person : <%=request.getParameter("person") %>
</div>


= path =

< 01main >

<h1>경로</h1>

<h2>절대 경로</h2>
<p>/로 시작</p>
<p>WebContent 기준</p>
<%@ include file="/04path/01sub.jsp" %>

<p>03module 폴더 sub.jsp</p>
<%@ include file="/03module/day03/02sub.jsp" %>

<h3>상대 경로</h3>
<p>/로 시작 하지 않음</p>
<p>현재 파일 기준</p>
<%@ include file = "01sub.jsp" %>


<p>03molude 폴더 sub.jsp</p>
<%@ include file="../03module/day03/02sub.jsp" %>

< 01sub >

<div>

<span>Lorem.</span>
<span>Saepe.</span>
<span>Quo!</span>
<span>Vitae.</span>
<span>Deserunt.</span>

</div>


 

< 02browser1 >

<h1>컨텐츠1</h1>

<hr>
<h3>절대 경로 링크</h3>
<a href="/myjsp/04path/02browser2.jsp">2번 파일로 이동</a>

<h3>상대 경로 링크</h3>
<a href="02browser2.jsp">2번 파일로 이동 상대 경로</a>

02browser2 >

<h1>컨텐츠2</h1>

<hr>
<h3> 절대 경로 링크</h3>
<a href="<%= request.getContextPath()%>/04path/02browser1.jsp">1번 파일로 이동</a>

<h3>상대 경로 링크</h3>
<a href="02browser1.jsp">1번 파일로 이동 상대경로방식</a>


 

< 03path-ex >

<a href="<%= request.getContextPath()%>/02request/day03/35login-form.jsp">02request폴더에 35번 파일로 이동 (절대경로)</a>

<hr>

<a href="../02request/day03/35login-form.jsp">02request폴더에 35번 파일로 이동 (상대경로)</a>


 

< 04icon-sample >

 

<i class="fab fa-apple"></i>
<i class="fas fa-heart"></i>


= attribute01 =

< 01main >

<h1>main contents</h1>
<%-- attribute(속성)로 객체를 전달 할 수 있다. --%>
<%
request.setAttribute("attr1","avengers");
%>
<jsp:include page="01sub.jsp">
	<jsp:param value="butter" name="param1"/> 
</jsp:include>

< 01sub >

<div>
param1 : <%= request.getParameter("param1") %><br>
attr1 : <%= request.getAttribute("attr1") %>
</div>


 

< 02main >

<h1>main contents</h1>
<%
request.setAttribute("num1", 3);
request.setAttribute("num2", 5);
%>
<jsp:include page="02sub.jsp"></jsp:include>

< 02sub >

<div>

<%
Integer n1 = (Integer)request.getAttribute("num1");
Integer n2 = (Integer)request.getAttribute("num2");
%>
<%= n1 %> + <%=n2 %> = <%=n1+n2 %> <br>
</div>

<div>
<%--el 로 attribute를 편리하게 이용 --%>
{$num1}+${num2 }=${num1+num2 }</div>


< 03main >

<h1>main content</h1>

<%
String[] arr = {"jin", "jk", "hope","suga"};
request.setAttribute("arr1", arr);
%>
<jsp:include page="03sub.jsp"></jsp:include>

< 03sub >

<div>
	<ul>
	<%
		String[] items = (String[]) request.getAttribute("arr1");
		for (String item : items) {
	%>
		<li><%= item %></li>
	<%
		}
	%>
	</ul>
</div>


< 04main1>

<%-- 04sub.jsp 활용하여 메뉴 만들기 --%>
<%
String[] list = {"home","about","login"};
request.setAttribute("menuItems", list); 

%>
<jsp:include page="04sub.jsp"></jsp:include>

<h1>main1 contents</h1>

< 04main2>

<%-- 04sub.jsp 활용하여 메뉴 만들기 --%>
<%
String[] list = {"home","about","info","logout"};
 request.setAttribute("menuItems", list); 

%>
<jsp:include page="04sub.jsp"></jsp:include>

<h1>main2 contents</h1>

< 04sub >

<style>
.menu {
	display: flex;
	padding: 0px;
	margin: 0px;
	margin-bottom: 10px;
	list-style: none;
	background-color: gray;
}

.menu-item {
	padding: 15px;
	text-align: center;
	background-color: black;
}

.menu-item a {
	color: white;
	text-decoration: none;
	font-weight: bold;
}

.menu-item:hover {
	background-color: green;
}
</style>

<div>
	<ul class="menu">

		<%-- 
		
		a 요소를 갖는 li.menu-item 요소를
		"menuItems" 이름의 request attribute를 사용하여
		만들기
		
		 --%>

		<%
			String[] items = (String[]) request.getAttribute("menuItems");

		for (String item : items) {
		%>

		<li class="menu-item">
			<a href=""><%=item%></a>
		</li>

		<%
			}
		%>
	</ul>
</div>


< 05main1 >

<%-- 04sub.jsp 활용하여 메뉴 만들기 --%>
<%
/* String[] list = {"home","about","login"}; */
ArrayList<String> list = new ArrayList<>();
list.add("home");
list.add("about");
list.add("login");

/*다른 방법

List<String> list = Arrays.aslist("home","about","login")*/
request.setAttribute("menuItems", list); 
/* httpservletrequest 모를 때 검색하기   */
%>
<jsp:include page="05sub.jsp"></jsp:include>

<h1>main1 contents</h1>

< 05main2 >

<%-- 04sub.jsp 활용하여 메뉴 만들기 --%>
<%
//String[] list = {"home","about","info","logout"};
List<String> list = Arrays.asList("home","about","info","logout"); 
request.setAttribute("menuItems", list); 

%>
<jsp:include page="05sub.jsp"></jsp:include>

<h1>main2 contents</h1>

< 05sub>

<style>
	.menu {
		display: flex;
		padding: 0px;
		margin: 0px;
		margin-bottom: 10px;
		list-style: none;
		background-color: gray;
	}
	
	.menu-item {
		padding: 15px;
		text-align: center;
		background-color: black;
	}
	
	.menu-item a {
		color: white;
		text-decoration: none;
		font-weight: bold;
	}
	
	.menu-item:hover {
		background-color: green;
	}

</style>

<div>
	<ul class="menu">

	<%-- 
		a 요소를 갖는 li.menu-item 요소를
	"menuItems" 이름의 request attribute를 사용하여
		만들기
		 --%>
 
		 <%
// 	String[] items = (String[]) request.getAttribute("menuItems");
		List<String> items = (List<String>) request.getAttribute("menuItems");
		 for (String item : items) {
	 %>
	 		<li class="menu-item">
 			<a href=""><%= item %></a>
	 		</li>	 
		 <%
		 	}
		 %>
		 
	</ul>
</div>


< 06main >

<h1>main contents</h1>

<%
MyBook book1 = new MyBook("java tutorial", 30000);
request.setAttribute("book", book1);
%>
<jsp:include page="06sub.jsp"></jsp:include>

< 06sub >

<%
MyBook book = (MyBook) request.getAttribute("book");
%>

<div>
제목 : <%=  book.getTitle() %> <br>
가격 : <%=  book.getPrice() %> <br>
</div>


728x90

'수업 복습하기 > JSP' 카테고리의 다른 글

Day 03 - request03 + module01  (0) 2021.11.22
Day 02 - request02  (0) 2021.11.19
Day 01 - JSP 기초 + request 01  (2) 2021.11.17
수업시간 내용 압축 정리  (0) 2021.10.25