리우's IT Story
article thumbnail
728x90
반응형
1. movie 객체 만들기 
2.입력폼 및 출력 
3. 폼에서 받아오는데이터에 대한 처리 및 정제 

 

java Resources에 day05패키지에 - Movie.java 클래스 파일 생성 

 

멤버필드는 전부 접근제한자를 걸어주고

접근제한자에 대한 getter, setter 선언

생성자 (생성되어있지만 보이지않는다.)

 

순위,제목, 개봉일,예매율,예매관객수, 누적관객수 

package day05;

public class Movie {
	private int rank;					//순위
	private String title;				//제목
	private String openningDate;		// 개봉일
	private double reserveRate;			//예매율
	private int reserveCount;			//예매관객수
	private int watchCount;				//누적관객수
	
	
	
	public int getRank() {
		return rank;
	}
	public void setRank(int rank) {
		this.rank = rank;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getOpenningDate() {
		return openningDate;
	}
	public void setOpenningDate(String openningDate) {
		this.openningDate = openningDate;
	}
	public double getReserveRate() {
		return reserveRate;
	}
	public void setReserveRate(double reserveRate) {
		this.reserveRate = reserveRate;
	}
	public int getReserveCount() {
		return reserveCount;
	}
	public void setReserveCount(int reserveCount) {
		this.reserveCount = reserveCount;
	}
	public int getWatchCount() {
		return watchCount;
	}
	public void setWatchCount(int watchCount) {
		this.watchCount = watchCount;
	}
	
	
}

 

 

영화정보를 추가하는 입력 폼 및 출력을  한번에 보여주는 웹페이지 .jsp

 

list, Movie클래스 import

>

입력폼 작성  name의 이름과  Moive클래스의 멤버필드 일치 (파라미터)

>

추가된 영화데이터 목록을 

테이블로 작성 list에 추가된 객체를 꺼내와서 Movie 클래스의 movie단일 객체에 담고

 향상된 for문으로  루프시키면서 각 객체를 get함수로 출력 시킨다. 

<body>
	<h1>quiz1-movie.jsp</h1>
	<hr>
	
	
	
	<%@ page import="java.util.ArrayList" %>
	<%@ page import="day05.Movie" %>
	
	<% 
		//application "list"라는 이름의 list를 받아온다 (없으면 null)
		ArrayList<Movie> list =(ArrayList<Movie>) application.getAttribute("list"); 
		
		// 만약 list가 null이면 (없으면)
		if(list == null) {		//새로운 리스트가 없으면
			list = new ArrayList<>();	// 방금만든 리스트를  "list" 라는 이름으로 추가한다.
			application.setAttribute("list", list);
		}
	%>
	<fieldset>
		<legend>데이터 추가</legend>
		<form action="quiz1-action.jsp" >
			<p><input type="text" name="rank" placeholder="순위"></p>
			<p><input type="text" name="title" placeholder="제목"></p>
			<p><input type="text" name="openningDate" placeholder="개봉일자"></p>
			<p><input type="text" name="reserveRate" placeholder="예매율" min="0" max="100" step="0.1" ></p>
			<p><input type="text" name="reserveCount" placeholder="예매관객수"></p>
			<p><input type="text" name="watchCount" placeholder="누적관객수"></p>
			<p><input type="submit" value="추가"></p>
			<p><input type="submit" value="삭제"></p>
			
		</form>
	</fieldset>

	
	<h3>추가된 영화 데이터  목록</h3>
		
	<table>
		<thead>
			<tr>
				<th>순위</th>
				<th>영화제목</th>
				<th>개봉일자</th>
				<th>예매율</th>
				<th>총예매수</th>
				<th>누적관객수</th>
			</tr>
		</thead>
		<tbody>
		<% 
			for(Movie movie : list) { 
		%>
			<tr>
				<td><%=movie.getRank() %></td>
				<td><%=movie.getTitle() %></td>
				<td><%=movie.getOpenningDate() %></td>
				<td><%=movie.getReserveRate() %></td>
				<td><%=movie.getReserveCount()%></td>
				<td><%=movie.getWatchCount() %></td>
			</tr>
			<% } %>
		</tbody>
	</table>
</body>

 

 

입력 폼에 대한 데이터를 정제,처리하는 jsp파일 

<body>

	<% request.setCharacterEncoding("UTF-8"); %>
	
	
	<jsp:useBean id="ob" class="day05.Movie" />
	
	<jsp:setProperty property="*" name="ob" />
	${list.add(ob)}
	
	<jsp:forward page="quiz1-movie.jsp"  />
</body>

요청의 인코딩 속성을 UTF-8로 지정 

 

useBean으로 Movie에있는  빈 객체 통을 생성  객체이름 ob로 선언 

property name은 *로 지정하여서 어떠한 자료형이든 관계없이 모두 가지고 오겠다. 

 

list에 ob객체 추가 

 

movie.jsp 실행

 

영화정보 입력 후 제출  

 

추가확인 

728x90
반응형

'JSP' 카테고리의 다른 글

JSTL  (0) 2023.08.07
EL 태그  (1) 2023.08.04
Form - action 태그  (0) 2023.08.04
attribute 어트리뷰트 , form  (0) 2023.08.03
설치(톰캣, 자바 환경변수)  (0) 2023.07.28
profile

리우's IT Story

@LRWoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!