뉴렉처 JSP[58 ~ 69]

김상복·2022년 4월 7일
0

뉴렉처JSP

목록 보기
4/5

58. View 페이지 은닉

WebContent 안의 WEB-INF 폴더에 저장한 파일은 은닉이 된다. 그래서 다양한 설정 파일들이나 View페이지를 넣어둬서 공개하지 않도록 저장한다

59. JSTL

jsp 파일에서 코드 블럭을 대체하는 JSTL을 사용해서 문서를 좀 더 깔끔하게 한다

설정
1. JSTL 드라이버 설치
2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 입력

forEach 코드
<c:forEach items="${list }" var="n">
1. items : 코드를 담는다, list라는 객체를 담는다
2. var : items에 담긴 데이터를 var의 변수 n에 담아서 forEach 안에서 사용할 수 있게 된다

60. JSTL 설명

원리에 대한 설명을 잘해주심 영상 참조

61. 중간 요약 정리

영상 참조

62. c:forEach문 정리


<c:forEach items="${list }" var="n" begin="1" end="3" varStatus="st">
[속성 정리]
1. items : 말 그대로 반복시킬 데이터(객체)를 저장시키는 문법, 현재 list라는 List 객체를 담고 있다
2. var : 변수라는 의미로 items에서 forEach문에서 반복시킬 데이터를 담아두는 변수이다 ${v.???} 이런식으로 사용할 수 있다
3. begin : 시작과 끝지점을 정해준다. list에 첫번 째로 들어있는 데이터부터 시작하고 싶으면 배열과 마찬가지로 0을, 2번째 부터 반복문이 돌기를 원하면 1을 넣어주면 된다, 4를 넣을 시 list에 있는 5번째 데이터 부터 반복을 시작한다
4. end : 반복문을 어디까지 진행시킬 건지를 설정할 수 있고, begin과 마찬가지로 배열과 동일한 방식이다
5. varStatus : forEach에서만 사용할 수 있는 메소드들이 존재하는데 대표적으로 index가 존재한다. index는 몇번 째 반복문인지를 알려주고 배열과 마찬가지로 첫 시작이 0이다. 다른 메소드들은 검색해서 알아보도록 하자.
[사용법]
달러/{st.index} = 라고 하면 첫번째 인덱스 값인 0부터 출력을 시작해서 알려준다

63. c:set

임시변수를 저장해주는 태그

<c:set var="page" value="${(param.p == null)?1:param.p }"/>
<c:set var="startNum" value="${page-(page-1)%5 }"/>

같은 형식으로 사용이 가능해짐, 위의 코드는 페이징 처리를 해주는 공식인데
page라는 변수에 param.p = p는 입력 페이지를 가져온다. 삼항 연산자로 처음에 홈페이지를 킬 때는 페이지가 없으므로 없을때는 1페이지로 가도록 셋팅한다
그리고 난뒤 startNum에서 페이지가 만약 1 ~ 5일 때는 1페이지부터 5개, 6 ~ 10일 때는 6페이지부터 5개가 나오도록 셋팅 값을 해준다

64. c:if

조건문 태그

	<c:if test="${startNum+5 < lastNum}">

와 같이 test에 조건문을 넣어서 참 거짓을 확인한 뒤 태그 안의 내용을 출력한다
단, JAVA 코드와 같이 else if, else문 같은 문법은 존재하지 않아서 일일이 조건을 설정해야하는 번거로움은 있다

65. c:forToken

JAVA의 Token과 같은 개념, 데이터를 구분자를 통해서 나눠준다

	<c:forTokens var="fileName" items="${n.files }" delims="," varStatus="st">

개념 정리
1. items에 들어가 있는 데이터를 처음부터 끝까지 조회한다
2. delims문은 구분자로 items에서 어떤 문자를 기준으로 나눌지를 정한다
3. 변수 var에다가 구분한 데이터를 저장 한 후 출력한다 출력은 for문 처럼 구분자로 나눈 숫자만 큼 출력이 되는 것을 확인 할 수 있다

66. Date format 사용하기 날짜, 시간 등

해당 블로그 참조
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=imf4&logNo=220654812087

예시

    <fmt:formatDate pattern="yyyy-MM-dd hh:mm:ss" value="${n.regdate }"/>

원래 ${n.regdate }로만 출력했었는데 이렇게 되면 jsp가 주어진 format으로 Date를 출력한다
우리가 임의로 지정해야하는경우 jstl을이용해서 지정해주면 되고 위 블로그에서 많은 정보가 있으니 참조하도록 하자

67. Number format 사용하기, 숫자 등

해당 블로그 참조
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=imf4&logNo=220654812087

예시

	<fmt:formatNumber value="${n.hit }"/>

formatNumber의 기본 설정은 1,111,111 의 형식으로 3자리씩 끊어준다 다양한 옵션이 있으니 확인해서 사용하도록 하자

68. JSTL 함수 사용하기(function)

해당 블로그 참조
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=imf4&logNo=220654812087

예시

<a href="${fileName }" style="${style}">${fn:toUpperCase(fileName)}</a>

fn:으로 시작하는 taglib을 만들어서 적용시킨다. 기존에 적용할 수 있는 짜여진 함수도 있지만, 자신이 직접 만들어서 함수를 사용할 수 도있다. 하지만 너무 복잡한 로직은 View단이 아닌 Controller나 Model에서 처리하는 것이 맞다

69. 지금까지 한거 정리

영상 참조

profile
초보 개발자

0개의 댓글