Servlet/JSP 8일차

0

Model 데이터를 위한 구조화의 필요성

request.setAttribute("title", rs.getString("title"));
request.setAttribute("writerId", rs.getString("writerId"));
.
.
.
request.setAttribute("hit", rs.getString("hit"));
  • 위와 같이 속성하나하나를 request에 넣어준다면 이는 코드가 길어지게 만들어 가독성을 떨어뜨릴 수 있다.
  • 따라서 위의 속성을 하나의 객체로 만들어 request에 삽입한다.
package com.newlecture.web.entity;

import java.sql.Date;

public class Notice {
	private int id;
	private String title;
	private String wirtedId;
	private Date regdate;
	private String hit;
	private String files;
	private String content;
	
	public Notice() {
		// TODO Auto-generated constructor stub
	}
	
	public Notice(int id, String title, String wirtedId, Date regdate, String hit, String files, String content) {
		this.id = id;
		this.title = title;
		this.wirtedId = wirtedId;
		this.regdate = regdate;
		this.hit = hit;
		this.files = files;
		this.content = content;
	}
    .
    .
    .

  • MVC model 2로 가면서 View는 단순히 UI로서 작용할 뿐 안에서 어떠한 연산이 일어나지는 않는다.
  • 고로 사용자가 직접요청하는 페이지가 아니다.
  • 그래서 위에 사진처럼 WEB-INF 폴더에 VIEW라는 폴더를 두어서 그안에서 관리하는 것이 좋다.
  • WEB-INF는 외부에서 요청할 수 없는 폴어디기 때문이다.

View에서 반복문 구조 대신하는 무언가

"자바의 반복문을 이용한 제어구조에서 태그를 이용한 제어구조로"

  • 일단 JSTL 라이브러리를 다운받아야한다.
  • 위의 사이트에서 jar 파일을 다운로드한다.
  • WEB-INF/lib 폴더에 복사한다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • 위의 코드를 해당 .jsp 파일 윗단에 작성한다.

  • forEach 태그를 통해 반복을 할 수 있다.

<c:forEach var="n" items="${list }">
						<tr>
							<td>${n.id }</td>
							<td class="title indent text-align-left"><a href="detail?id=${n.id }">${n.title }</a></td>
							<td>${n.writerId }</td>
							<td>${n.regdate }</td>
							<td>${n.hit }</td>
						</tr>
						</c:forEach>

View 페이지 은닉하기

  • View에 관련된 파일들, 컨트롤러에 의해 출력에 사용되는 파일들은 WEB-INF 폴더에 넣어 은닉하는 것이 맞다.

JSTL(JSP Standard Tag Library)

  • JSP 표준 태그 라이브러리를 뜻한다.
  • Core / Formating / Functions
  • c:out / c:set / c:forEach / c:if / c:choose, c:when / c:url / c:include
  • 출력 / 변수값 저장 / 반복문 / if / if else / url주소 생성 / JSP페이지에서 include 역할
  1. c:forEach
  • 목록을 입력 받아서 목록의 갯수만큼 반복하는 반복문이다.
    • var : 변수명 -> 필수 속성
    • items : Collectiom 객체 -> 필수 속성
    • begin : 반복 시작 index
    • edn : 반복 종료
    • step : 반복 step
    • varStatus : 반복 상태를 알 수 있는 변수
    62강 중반까지 봤음
    오늘의 한줄평 2022-07-14
  • 복습시작 -

0개의 댓글