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 |