JSTL core는 기본적인 기능들을 구현해 놓은 라이브러리


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


출력 : <c:out>

조건 : <c:if>, <c:choose>, <c:when>, <c:otherwise>

반복 : <c:forEach>, <c:forTokens>

예외 : <c:catch>

변수 설정 및 삭제 : <c:set>, <c:remove>



<c:out> (출력시키는 태그)

<c:out value="출력값" default="기본값" excapeXml="true or false">


<c:if> 

<c:if test="조건" var="변수명" scope="범위">


<c:choose> (switch와 비슷한 역할을 함. 별다른 의미 없이 조건문의 시작을 알림)

<c:choose>
    <c:when test="조건"></c:when>
    <c:otherwise></c:otherwise>
</c:choose>


<c:forEach> (items 속성에 컬렉션이나 배열 형태의 객체를 지정하여 객체의 인덱스만큼 반복할 수도 있음)

<c:forEach items="객체명" begin="시작 인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수">


<c:forTokens>

<c:forTokens items="객체명" delims="구분자" begin="시작 인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수">


<c:catch>

<c:catch var="변수명">


<c:set> (지정된 변수에 값을 설정하는 태그)

<c:set var="변수명" value="설정값" target="객체" property="값" scope="범위">


<c:remove> 

<c:remove var="변수명" scope="범위">




JSTL fmt

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

인코딩 : <fmt:requestEncoding>

국제화 : <fmt:setLocale>, <fmt:timeZone>, <fmt:setTimeZone>, <fmt:bundle>, <fmt:setBundle>, <fmt:message>, <fmt:param>

형식화 : <fmt:formatNumber>, <fmt:parseNumber>, <fmt:formatDate>, <fmt:parseDate>



<fmt:requestEncoding> (Request 객체로부터 전달 받은 값들을 인코딩할때 사용)

<fmt:requestEncoding value="인코딩값">



<fmt:setLocale> (다국어 페이지를 사용할 때 언어를 지정하는 태그. value 속성은 어떤 언어를 사용할지, variant 속성은 브라우저의 스펙)

<fmt:setLocale value="값" variant="" scope="범위">


<fmt:setTimeZone> (지정한 지역 값으로 시간대를 맞추는 기능, <fmt:timeZone>의 경우 첫 태그와 끝 태그 사이의 영역만 적용. setTimeZone은 페이지 전체에 영량을 줌.

<fmt:setTimeZone value="값" var="변수명" scope="범위">



반응형

'JSP & Spring' 카테고리의 다른 글

jstl에서 비교문 [펌]  (0) 2016.09.20
스프링 외부 경로 폴더 지정하기  (0) 2016.09.12
@ModelAttribute, @RequestParam  (0) 2016.09.08
스프링 초기환경세팅  (0) 2016.09.04
utf-8 인코딩.  (0) 2016.09.01

전화번호의 형태가 010-1234-5678의 형태에서 01012345678의 형태로 변환하기 위해서는 str_replace() 함수를 사용한다.


바뀐 값을 저장할 변수 = str_replace("바꿀 기호", "바뀐 기호", 바꿀 기호가 저장된 변수명); 의 형태로 사용한다.


<?php $phone_num = str_replace("-", "", $a); ?>


010-1234-5678의 값이 저장된 $a를 str_replace() 함수를 사용하여 "-"(hyphen) 기호를 처음에 넣고 그 다음에 "" 로 교체하는 부분을 두번째에 넣고 $phone_num에 저장한다.


$phone_num을 출력해보면 01012345678의 형태로 "-"(hyphen) 이 없어진 값으로 들어가게 된다.


2016/02/11의 형태로 된 날짜도 2016.02.11의 형태로 바꾸는 것도  str_replace("/", ".", $date)  로 쉽게 변경이 가능하다.

반응형

체크박스를 여러개 선택해서 값을 넘길려고 할 때 아래와 같이 box[ ] 배열로 만들어서 바로 서버로 넘겨도 된다.

서버에서 반복문으로 푸는 방법과 스크립트에서 반복문으로 풀어서 서버로 넘기는 방법이 있다.


아래와 같은 체크박스 태그가 반복문을 통해 여러개 있을 경우 태그명을 class를 이용해야 한다.(id는 유일한 이름)

<input type="checkbox" name="box[]" value="a" class="checkSelect">

<input type="checkbox" name="box[]" value="b" class="checkSelect">

<input type="checkbox" name="box[]" value="c" class="checkSelect">

<input type="checkbox" name="box[]" value="d" class="checkSelect">

<input type="checkbox" name="box[]" value="e" class="checkSelect">

box[0].val() => a

box[1].val() => b

box[2].val() => c


이러한 형태로 되어있는 것을 

아래 코드를 통해 id=array라는 태그의 value 값으로 a,b,c,d,e 의 형태로 넣는다.


<script>
var send_array = Array();
var send_cnt = 0;
var chkbox = $(".checkSelect");

for(i=0;i<chkbox.length;i++) {
    if (chkbox[i].checked == true){
        send_array[send_cnt] = chkbox[i].value;
        send_cnt++;
    }
}

$("#array").val(send_array);
</script>

send_array라는 배열 변수를 선언하고.

배열의 index를 넣을 send_cnt와 체크박스의 이름인 .checkSelect를 chkbox라는 변수로 선언을 한다.


for문을 이용해서 

box[0].val() => a

box[1].val() => b

box[2].val() => c        이러한 형태의 값들을 하나씩 send_array[i]에 넣는다.


send_array를 출력해보면 a,b,c,d,e 와 같은 형태로 , 로 구분하여 저장된다.

그걸 value 값에 넣어 서버로 보내면 서버에서 반복문을 실행하지 않아도 여러개의 값들을 쓸 수 있다.


*a,b,c,d,e의 형태로 넘어간 값들은 SELECT, DELETE 문을 사용할때 wehre user_name in ('send_array') 와 같은 형태로 사용할 수 있다.





반응형

+ Recent posts