요르딩딩
Servlet&JSP 프로그래밍 (57강 ~ 67강) 본문
728x90
반응형
[57강. 목록 페이지도 MVC model2로 수정하기]
- 앞서 한 내용 복습강의
[Controller]
- request.setAttribute, forward, doGet메소드,
[JSP]
- EL방식 : ${list[0].writerId}
- List<Notice> list = (List<Notice>) request.getAttribure("list")
for(Notice n : list) {
// 저장소 종류 : page, request, session, application
pageContext.setAttribute("n", n);
${n.id}
}
[58강. View페이지 은닉하기]
-순서 : controller -> JSP(view) : view를 호출하지 못하도록 은닉하기
- 뷰파일 위치 : WEB-INF/view/jsp파일들
- request.getDispatcher("WEB-INF/notice/list"); // 경로 맞추기
- WEB-INF 아래의 파일은 호출할 수 없음 > 변경후 호출시 404
[59 60 61]
[62강. forEach의 속성 사용하기]
- <c:forEach var="n" item="${list}" begin="1" end="3" varStatus="st">
#{st.index}/${n.id} // 출력 : 1/1
- var="n" : n에 1개씩 담김
- begin, end : index 범위
- varStatus="st" : ${st.current}, ${st.index}, ${st.count}, ${st.first}, ${st.last}, ${st.begin}, ${st.end}, ${st.step}
[63강. JSTL:forEach문으로 Pager번호 만들기]
<c:set var="page" value=${(param.p == null)?1:param.p}" /> // null일 수 있음, 삼항연산자사용
<c:set var="startNum" value="${startNum = page - (page-1)%5}" / > // 페이지 시작번호 계산
<c:forEach var ="i" begin="0" end="4"> // items없이 단순 반복용으로 사용
<li><a class="-text- orange bold" href="?p=${startNum +i}&t=&1=">${startNum +i}</a></li>
- pager 번호 생성하기 : startNum = page - (page-1)%5;
[64강. JSTL : if문으로 Pager 이전/다음 번호 만들기]
- 예시: [<] 1 2 3 4 5 [>]
- <a>, <span> 둘중하나만
<c:set var="page" value=${(param.p == null)?1:param.p}" /> // null일 수 있음, 삼항연산자사용
<c:set var="startNum" value="${startNum = page - (page-1)%5}" / > // 페이지 시작번호 계산
<c:set var="lastNum" value="23" / >
<c:if test="${ startNum > 1 }">
<a href="?p=${startNum +5}&t=&1=" class="btn btn-prev">이전 </span> // 링크가 이동됨.
</c:if>
<c:if test="${ startNum <= 1 }">
<span class="btn btn- prev " onclick="alert('이전 페이지가 없습니다.');"> 이전 </span>
</c:if>
<c:if test="${ startNum + 5 < lastNum }">
<a href="?p=${startNum +5}&t=&1=" class="btn btn-next">다음 </span> // 링크가 이동됨.
</c:if>
<c:if test="${ startNum + 5 >= lastNum }">
<span class="btn btn-next" onclick="alert('다음 페이지가 없습니다.');"> 다음 </span>
</c:if>
[65강. JSTL: forTokens로 첨부파일 목록 출력하기]
<% taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forTokens var = "fileName" items="${n.files}" delims="," varStatus="st"> // 쉼표 구분자 끊기 (하나씩 토큰)
<a herf="${fileName}"> ${fileName} </a>
<c:if test="${!st.last}"> // 현재가 마지막인지 알려준다. (boolean)
/
</c:if>
[66강. JSTL : format태그로 날짜 형식 변경하기]
<%taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<td> <fmt:formatDate pattern="yyyy-MM-dd hh:mm:ss" value="${n.regdate}" /> </td>
[67강. 숫자 출력 형식 지정하기 JSTL:formatNumber]
<%taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
// pattern="##,####" -> 형식 : 2342,2311 (4자리가 중요!!!)
<td><fmt:formatNumber type="number" pattern="##,####" value="${n.hit}" /> </td>
728x90
반응형
'[강의] > [서블릿 JSP 강의] (뉴렉처)' 카테고리의 다른 글
Servlet&JSP 프로그래밍 (68강 ~ 78강) (0) | 2024.10.04 |
---|---|
Servlet&JSP 프로그래밍 (46강 ~ 55강) (0) | 2024.09.11 |
Servlet&JSP 프로그래밍 (36강 ~ 45강) (0) | 2024.08.21 |
Servlet&JSP 프로그래밍 (26강 ~ 35강) (0) | 2024.08.09 |
Servlet&JSP 프로그래밍 (15강 ~ 25강) (1) | 2024.06.07 |
Comments