안녕로봇

블로그 이미지

안녕로봇

'JSP'에 해당되는 글 3건

제목 날짜
  • JSTL - JSP Standard Tag Library 2017.03.26
  • 표현언어 2017.03.26
  • 게시판 페이징 처리하기 2017.03.12

JSTL - JSP Standard Tag Library

JSP 2017. 3. 26. 23:16

JSTL

- 자주 사용하는 사용자 정의 태그(Custom Tag)를 모아서 표준으로 만들어 놓은 것


- 액션태그는 일종의 시스템이 제공하는 커스텀 태그 예) <jsp:userBean id="vo" class="study.BoardVO">

- 로직부분의 jsp코드를 태그로 대체


JSTL 환경 설정

- http://jstl.java.net에 접속 javax.servlet.jsp.jstl-1.2.1.jar 다운로드

- (이클립스 기준) 프로젝트의 /WEB-INF/lib폴더에 복사

- JSP 문서 상단에 태그 라이브러리를 지정     예) <% taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


JSTL core

- 변수 선언, 삭제등, if, for 문 같은 제어문, URL처리등에 사용

- prefix 접두어: uri에 명시된 값 대신 접두어로 대신 사용. 태그 시작에 접두어 사용 예) <c:~~>


JSTL core 기능별 분류


표현언어 지원 기능

- <c:catch> 코드 예외 잡을때, <c:out>, <c:remove>, <c:set>

흐름 제어 기능

- <c:choose>, <c:when>, <c:otherwise>

- <c:forEach>, <c:forTokens>, <c:if>

URL 관리기능

- <c:import>, <c:param>

- <c:redirect>, <c:param>

- <c:url>, <c:param>


<c:set> 태그

- <c:set var="varName" value="value" target="targetObjectName" property="propertyName" scope="session" />

- target속성: 속성값으로 자바빈 객체명이나 Map 객체명이 온다.

- property 속성: 속성값으로 자바빈 객체나 Map  객체의 값을 설정할 프로퍼티 명이 옴

- scope 속성: 생략시 기본값으로 page가 설정


예시)

- <c:set var="name" value="hong" />

- <c:set var="sum" value="${price}" scope="request" />

- <c:set value="seoul" target="person" property="address" /> person 객체의 address 프로퍼티 값을 seoul로 설정


<c:out> 태그

- <c:out value="${tel}" /> 근데 그냥 ${tel}만 써도 되서 잘 안쓰기 될듯(?) cf.) 표현식의 <%=tel %>,  out.println(tel);


<c:remove>태그

- page/request/session/application 범위의 변수(속성)을 제거할때 쓴다

- <c:remove var="varName" scope="session" />

- 변수를 제거할 떄 scope이 맞지 않으면 제거되지 않음 (역시 생략시 page 기본값)


<c:if>태그

- <c:if test="condition" var="varName" scope="session"></c:if>










저작자표시 비영리 변경금지 (새창열림)

'JSP' 카테고리의 다른 글

표현언어  (0) 2017.03.26
게시판 페이징 처리하기  (0) 2017.03.12
Posted by 안녕로봇

표현언어

JSP 2017. 3. 26. 22:31
표현언어

- JSP페이지에서 사용되는 자바 코드를 대신해서 액션 태그 엘레먼트의 속성에 값을 지정하는 역할(JSP 2.1버전부터 지원)

- null값을 가지는 변수에 대해 좀 더 관대, 데이터 형변환을 좀 더 자동적으로 해줌(값이 없을때 null이 표시되지않음)

- 변수와 연산자를 포함

- 내장 객체를 지원


간단 예시

예) 자바빈의 메서드에 접근 <%=person.getAddress()%> 이걸 ${person.address}로 바꿔서 사용


1) 항상 ${로 시작해서 }로 끝남

${num}는 <%=num%>와 결과가 같음


2) 연산식도 작성가능

${num+1}


3) 브라켓 연산자 [] 사용시

${article.num+1} 이걸 ${article["num"]+1}로 표현가능 ("대신 '사용해도 됨)



연산자

 . 

 빈의 프로퍼티나 Map의 엔트리 접근 

 [ ]

 배열이나 List 엘리먼트 접근 

 ( )

 괄호, 연산순서에서 사용

 a?b:c

 삼항연산자 조건(a)? true일때 리턴값(b) false일때 리턴값(c) 

 + - * /(div) %(mod)

 더하기, 뺴기, 곱하기, 나누기, 나머지 

 == 또는 =

 같다 

 != 또는 ne

 다르다 

 < 또는 lt

 보다 작다 

 > 또는 gt

 보다 크다 

 <= 또는 le

 작거나 같다 

 >= 또는 ge

 크거나 같다 
 && 또는 and

 논리 AND 

 || 또는 or 

 논리 OR 

 ! 또는 not

 단항 not 

 empty

 빈 변수 값 체크 - null, 빈 문자열, 빈 배열, 엔트리가 없는 Map이나 컬렉션인지들을 테스트 



내장(기본) 객체

 pageScope

 모든 page 영역 격체들에 대한 컬렉션 

 requestScope

 모든 request 영역 격체들에 대한 컬렉션  

 sessionScope

 모든 session 영역 격체들에 대한 컬렉션 

 applicationScope

 모든 application 영역 격체들에 대한 컬렉션 

 param

 모든 request 파라미터들을 문자열로 가진 컬렉션 

 paramValues

 모든 request 파라미터들을 파라미터당 문자열 배열로 가진 컬렉션 

 cookie

 모든 쿠키의 컬렉션  

 pageContext

 JSP의 page 기본 객체와 동일


예시)

${header.host}
${header["user-agent"] }


cf.)기존방식: <%   String sHost = request.getHeader("host");     String sAgent = request.getHeader("user-agent");    %>




한줄 요약

<%=request.getParameter("name")%>쓰지말고 ${param.name} 쓰자






저작자표시 비영리 변경금지 (새창열림)

'JSP' 카테고리의 다른 글

JSTL - JSP Standard Tag Library  (0) 2017.03.26
게시판 페이징 처리하기  (0) 2017.03.12
Posted by 안녕로봇

게시판 페이징 처리하기

JSP 2017. 3. 12. 23:46

//댓글 갯수에 따른 페이징 처리

/* 

~~~~~~

~~~~~~

◀[4][5][6]▶  

*/

//[1] 처리에 필요한것 생각해보기

//1. 클릭한 페이지 - 없으면 디폴드값 1페이지로 //예시 5 , 3

int cmtCurrentPage=1;

if(str_cmtCurrentPage!=null && !str_cmtCurrentPage.isEmpty()){

cmtCurrentPage=Integer.parseInt(str_cmtCurrentPage);

}

//2. 페이지숫자 몇개까지 보여줄지 결정(블럭크기) - 3개로 설정

int numOfPagesToShowAtOnce=3;

//3. 한번에 보여줄 댓글수(페이지당 댓글 행 수) - 5개로 설정

int numOfCommentsToShowAtOnce=5;

//4. 총 댓글 갯수

int totalCmt=clist.size(); //예시 31, 16

//[2] 위의 설정된 숫자들로 나머지 필요한 부분 계산

//1. clist에서 한번에 댓글 5개씩 꺼내서 보여줄때 각 행의 시작값 계산

//0, 5, 10, 15...

//5페이지에서 시작값은 ~> 20, 4페이지에서의 시작값은 

     //                            ~> 15, 2페이지에서의 시작값은 ~> 5

//(5-1)*5, (4-1)*5 ~> (현재페이지-1)*한번에 보여줄 행수

int clistStartNum

=(cmtCurrentPage-1)*numOfCommentsToShowAtOnce;

//2. clist에서 다 꺼냈을때 마지막 페이지 처리용 숫자 설정

//11=31-20, 마지막 페이지의 경우 1=31-30 

    //~> 전체 댓글수 - 현재페이지의 행 시작값 

int num=totalCmt-clistStartNum;

//3. 현재 페이지 기준으로 첫번째 페이지 숫자와 마지막 페이지숫자계산

//첫번째페이지: 현재페이지-((현재페이지-1)를 블럭크기로 나눈 나머지) 

//~> 4 = 5 - ((5-1)%3) 

int cmtFirstPage=cmtCurrentPage

   -((cmtCurrentPage-1)%numOfPagesToShowAtOnce);

//마지막페이지: 첫번째페이지+블럭크기-1 ~> 6=4+3-1

int cmtLastPage=cmtFirstPage+numOfPagesToShowAtOnce-1;

//4. 전체 페이지수 계산

//전체 댓글수를 한번에 보여줄 댓글수로 나눈 다음 

//올림처리하고 정수로 전환

int cmtTotalPages

=(int)(Math.ceil((double)totalCmt/numOfCommentsToShowAtOnce));



저작자표시 비영리 변경금지 (새창열림)

'JSP' 카테고리의 다른 글

JSTL - JSP Standard Tag Library  (0) 2017.03.26
표현언어  (0) 2017.03.26
Posted by 안녕로봇
이전페이지 다음페이지
블로그 이미지

by 안녕로봇

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • 페이징
  • 스프링
  • jQuery
  • mybatis
  • 이벤트
  • ClassNotFoundException
  • css
  • 400에러
  • Spring
  • 서버
  • 설정
  • 스프링 프레임워크
  • 표현언어
  • 어노테이션
  • ajax
  • 스케쥴러
  • 핸들러
  • 파일
  • 에러
  • tomcat
  • 한글인코딩
  • Serialize
  • 마이바티스
  • Sts
  • 인터셉터
  • 업로드
  • El
  • selectKey
  • jsp
  • 시작

글 보관함

«   2025/11   »
일 월 화 수 목 금 토
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

링크

카테고리

학습 (27)
Spring (16)
Spring 에러 처리 (7)
mybatis (3)
JSP (3)
jQuery JavaScript (4)
HTML CSS (0)
Java (1)
자바 용어 정리 (1)
학습 내용 정리 (0)
실습 작성 및 비교 (0)
Oracle (0)
오라클 용어 정리 (0)
학습 내용 정리 (0)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
안녕로봇's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

안녕로봇

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 학습 (27)
    • Spring (16)
      • Spring 에러 처리 (7)
    • mybatis (3)
    • JSP (3)
    • jQuery JavaScript (4)
    • HTML CSS (0)
    • Java (1)
      • 자바 용어 정리 (1)
      • 학습 내용 정리 (0)
      • 실습 작성 및 비교 (0)
    • Oracle (0)
      • 오라클 용어 정리 (0)
      • 학습 내용 정리 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바