SMALL

JSTL 랜덤 숫자 받아오고 싶을때~

<c:set var="ran"><%= java.lang.Math.round(java.lang.Math.random() * 4445567) %></c:set>

 

출력

${ran}

 

 

LIST
블로그 이미지

SeoHW

,
SMALL


forEach문은 아래와 같이 활용한다.


<c:forEach items="${data}" var="변수값" varStatus="status">

<td>

${status.current} 현재 for문의 해당하는 번호

${status.index} 0부터의 순서

${status.count} 1부터의 순서

${status.first} 첫 번째인지 여부

${status.last} 마지막인지 여부

${status.begin} for문의 시작 번호

${status.end} for문의 끝 번호

${status.step} for문의 증가값

</td>

</c:forEach>

${status.current} 현재 for문의 해당하는 번호

${status.index} 0부터의 순서

${status.count} 1부터의 순서

${status.first} 첫 번째인지 여부

${status.last} 마지막인지 여부

${status.begin} for문의 시작 번호

${status.end} for문의 끝 번호

${status.step} for문의 증가값


사용 하시면 됩니다!

LIST
블로그 이미지

SeoHW

,
SMALL

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


20170101 형식

<fmt:parseDate var="dateString" value="${sdt}" pattern="yyyyMMdd" />


2017.01.01 형식

<fmt:formatDate value="${dateString}" pattern="yyyy.MM.dd" />


20170101235959 형식으로 dateString에 담기. (년월일 시분초)

<fmt:parseDate var="dateString" value="${sdt}" pattern="yyyyMMddHHmmss" />

파싱후 문자열값: <fmt:formatDate value="${dateString}" pattern="yyyy.MM.dd HH:mm:ss" />



날짜 차이 계산

<c:set var="sdate" value="2017.01.15" />

<c:set var="edate" value="2017.01.22" />


<fmt:parseDate var="sDate" value="${sdate}" pattern="yyyy.MM.dd" />

값 확인 : <fmt:formatDate value="${sDate }"  pattern="yyyyMMdd" />

<fmt:parseNumber value="${sDate.time / (1000*60*60*24)}" integerOnly="true" var="sDays" scope="request" />


<fmt:parseDate var="eDate" value="${edate}" pattern="yyyy.MM.dd" />

값 확인 : <fmt:formatDate value="${eDate }"  pattern="yyyyMMdd" />

<fmt:parseNumber value="${eDate.time / (1000*60*60*24)}" integerOnly="true" var="eDays" scope="request" />

${eDays - sDays}일

LIST
블로그 이미지

SeoHW

,
SMALL

<input type="text" />

위와 같은 input 개체가 있을 때,

글 쓰지 못하게 막는 방법 중, 대표적으로 readonly 와 disabled 가 있다.

이 둘 모두 input 타입의 속성이다.

따라서 다음과 같이 사용할 수 있다.


using html

<input type="text" id="txt1" readonly />        
<input type="text" id="txt2" disabled />

<textarea id="txtfield1" readonly ></textarea>
<textarea id="txtfield2" disabled ></textarea>

<input type="password" id="pass1" readonly />
<input type="password" id="pass2" disabled />



using script

var oEle1 = document.getElementById('txt1') ;
var oEle2 = document.getElementById('txt2') ;
var oEle3 = document.getElementById('txtfield1') ;
var oEle4 = document.getElementById('txtfield2') ;
var oEle5 = document.getElementById('pass1') ;
var oEle6 = document.getElementById('pass2') ;

//  "readOnly" 로서 대문자임에 유의한다.
oEle1.readOnly = true ;
oEle2.readOnly = true ;
oEle3.readOnly = true ;
oEle4.readOnly = true ;
oEle5.readOnly = true ;
oEle6.readOnly = true ;

oEle1.disabled = true ;
oEle2.disabled = true ;
oEle3.disabled = true ;
oEle4.disabled = true ;
oEle5.disabled = true ;
oEle6.disabled = true ;



comment : 'readonly' , 'disabled' 둘다 사용자의 입력을 하지 못하게 막는 기능은 동일하지만,

form 안에서 사용하였을 경우,

'readonly' 는 form 전송이 가능하지만,

'disabled' 는 form 전송시 값이 전달되지 않는다.

LIST

'JSTL' 카테고리의 다른 글

JSTL forEach 문 varStatus 값 사용하기  (0) 2018.12.20
JSTL fmt:formatDate , 날짜형식  (0) 2018.12.05
JSTL empty , 빈값 비교 , 널값 체크  (0) 2018.12.04
[JSTL] 태그에 if문 넣기  (0) 2018.11.06
jstl forEach 문,forTokens 문  (0) 2018.11.05
블로그 이미지

SeoHW

,
SMALL

[JSTL empty , 빈값 비교 , 널값 체크]

JSTL empty

<c:if test="${empty test}">

<tr>

<td colspan="4">해당 목록이없습니다

</td>

</tr>

</c:if>


test 값이 비어있을시 실행문이 작동됩니다


empty 부정시엔

<c:if test="${!empty test}">

<tr>

<td colspan="4">해당 목록이없습니다

</td>

</tr>

</c:if>

하면 됩니다^^


LIST

'JSTL' 카테고리의 다른 글

JSTL fmt:formatDate , 날짜형식  (0) 2018.12.05
text readonly, 입력 제한,입력막기  (0) 2018.12.05
[JSTL] 태그에 if문 넣기  (0) 2018.11.06
jstl forEach 문,forTokens 문  (0) 2018.11.05
JSTL 특정 문자 찾기  (0) 2018.02.28
블로그 이미지

SeoHW

,

[JSTL] 태그에 if문 넣기

JSTL 2018. 11. 6. 17:23
SMALL

JSTL 태그에 if문 넣기

<ul>

<li id="l1"  <c:if test="${data[0].step eq 1}">     class="on" </c:if> >

신청

</li>

<li id="l2"  <c:if test="${data[0].step eq 2}">     class="on" </c:if> >

접수

</li>

<li id="l3"  <c:if test="${data[0].step eq 3}">     class="on" </c:if> >

승인

</li>

<li id="l4"  <c:if test="${data[0].step eq 4}">     class="on" </c:if> >

보류

</li>

<li id="l5"  <c:if test="${data[0].step eq 5}">     class="on" </c:if> >

완료

</li>

<li id="l6"  <c:if test="${data[0].step eq 6}">     class="on" </c:if> >

승인보류

</li>

<li id="l7"  <c:if test="${data[0].step eq 7}">     class="on" </c:if> >

승인확인

</li>

</ul>



이런식으로 data[0].step 값이 해당 같이 맞다면 class="on" 을 추가합니다



닐씨가 추워 지고있네요

미세먼지도 오늘은 많네요 ㅋㅋ


모두 마스크쓰고 다니시고 


감기 조심하십시오 ㅎ


LIST

'JSTL' 카테고리의 다른 글

text readonly, 입력 제한,입력막기  (0) 2018.12.05
JSTL empty , 빈값 비교 , 널값 체크  (0) 2018.12.04
jstl forEach 문,forTokens 문  (0) 2018.11.05
JSTL 특정 문자 찾기  (0) 2018.02.28
JSTL 기호,연산 정리 입니다  (0) 2018.02.22
블로그 이미지

SeoHW

,
SMALL

특정 횟수만큼 반복하여 동일한 일을 처리한다던지 할때 사용하는것이 반복문이다. 반복문에는 for문, while문 등이 있으며
그 중에서도 for문을 가장 많이 이용하기도 한다. 
특히 반복문의 경우 DB에서 리스트등을 가져와 가져온 갯수만큼 반복하여 동일한 일들을 처리할때 흔하게 사용된다고 할 수 있다.

오늘은 JSTL의 반복문인 <c:forEach> 와 <c:forTokens>에 대해 알아보자



  For 문 : <c:forEach>


1. 전체 속성 값 예


<c:forEach var="item" items="${list}" begin=0 end=5 step=1 varStatus="status">
    번호 : ${status.count}
    이름 : ${item.name}
    나이 : ${item.age}
    주소 : ${item.addr}
</c:forEach>



2. 속성 설명

항목

설명

비고 

 var

 사용할 변수명

 필수항목

 items

 Collection 객체(List, ArrayList)

 필수항목

 begin

 시작 index. 정의되지 않을경우 0


 end

 종료 index. 정의되지 않을경우 itmes 크기 - 1

 

 step

 반복할때 이동할 index 갯수

 

 varStatus

 반복상태를 알수 있는 변수

 



3. varStatus 값 설명


리턴 

설명 

 index

 int

 items에 정의한 항목을 가리키는 index 번호이다. 0부터 시작

 count

 int

 몇번째 반복인지 나타낸다. 1부터 시작

 first

 boolean

 첫번째 반복인지 나타냄

 last

 boolean

 마지막 반복인지 나타냄




일반적으로 특별하게 사용할 속성이 없다면 var와 items만 이용하여 아래와 같이 사용할 수 있다.

<c:forEach var="item" items="${list}">
    이름 : ${item.name}
    나이 : ${item.age}
    주소 : ${item.addr}
</c:forEach>




토큰을 이용한 반복문 : <c:forTokens>


문자열을 특정기호로 잘라내어 반복할수 있는 태그이다.
Java에서 StringTokenizer을 이용하여 토큰을 분리하여 while문을 사용하는것을 볼 수 있는데, 이와 동일한 기능을 제공한다.

<c:forTokens var="item" items="서울,대전,대구,부산,울산" delims=",">
    지역 : ${item}
</c:forTokens>

items에는 문자열을 넣고, delims 에는 분리할 기준 문자열을 넣으면 된다. 각 토큰별로 분리된 문자열은 var로 지정된 변수로 표출이 가능하다.



출처: http://fruitdev.tistory.com/132 [과일가게 개발자]

LIST

'JSTL' 카테고리의 다른 글

JSTL empty , 빈값 비교 , 널값 체크  (0) 2018.12.04
[JSTL] 태그에 if문 넣기  (0) 2018.11.06
JSTL 특정 문자 찾기  (0) 2018.02.28
JSTL 기호,연산 정리 입니다  (0) 2018.02.22
JSTL 숫자포맷 돈단위 콤마 변환  (0) 2018.01.12
블로그 이미지

SeoHW

,

JSTL 특정 문자 찾기

JSTL 2018. 2. 28. 12:55
SMALL

JSTL 특정 문자 찾기

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

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



<c:set var="aa" value=" i love test">


<c:if test="${fn:contains(aa,'love')}">

love가 있습니다

</c:if>


<c:if test="${fn:contains(aa,'rove')}">

love가 없습니다

</c:if>


결과 love가 있습니다

로 찾아내어 false true을 알수있습니다




LIST
블로그 이미지

SeoHW

,
SMALL

JSTL 기호,연산 정리 입니다


비교연산자

연산자

설명

== 또는 eq

값이 같으면 true 그렇지 않으면 false 반환

!= 또는 ne

값이 다르면 true 그렇지 않으면 false 반환

또는 lt

보다작다

또는 gt

보다크다

<= 또는 le

같거나 작다

>= 또는 ge

같거나 크다



출처: http://sinpk.tistory.com/entry/JSP-EL-표기법 [IT]

LIST
블로그 이미지

SeoHW

,
SMALL

펌글 출처 : http://bambabo.blog.me/120100616633

 

1. 숫자 포맷 변환

 

라이브러리로 아래와 같이 추가

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

 

숫자1 : <fmt:formatNumber value="123456789" type="number"/><br>
숫자2 : <fmt:formatNumber value="1000" type="currency" currencySymbol="₩"/><br>
숫자3 : <fmt:formatNumber value="0.3" type="percent"/><br>
숫자4 : <fmt:formatNumber value="12345.678" pattern=".00"/><br>

 

 

<결과값>

숫자1 : 123,456,789  <- 기본 천단위 끊어서 표현
숫자2 : ₩ 1,000.00  <- 원표시 붙이고 (,)붙이고 소수점 2개 까지 표현
숫자3 : 30%   <- %로 표현
숫자4 : 12345.68  <- 설정 소수점에서 반올림으로 표현 

 

2. 날짜 포맷 변환

라이브러리로 아래와 같이 추가

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


<fmt:formatDate value="${board.registDate}" pattern="yyyy-MM-dd"/>

 

 

===============================================================================

 

<fmt:formatDate value="<%=new java.util.Date()%>" pattern="yyyy-MM-dd" var="thisYmd"/>
<fmt:formatDate value="<%=com.kr.ds.tm.cc.framework.util.DateUtil.getDateAdd(2,-1 )%>" pattern="yyyy-MM-dd" var="beforeYmd"/>

<font><input id="DATE_FROM" name="DATE_FROM" class="inputBox2 datePicker editAfter" value="${beforeYmd}" style="width:70px;"/></font>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<fmt:formatNumber value="${resultMap.CANCEL_CNT}" type="number" var="CANCEL_CNT"/>

<input name="inputbox" value="${CANCEL_CNT}" class="inputBox2" type="text" maxlength="20" style="text-align:right"/>

 

 

 

 

 

 

 

 

 

 

 

주의.. 한번에 바꿀려고 하지마세요. 

String 으로 줬고.. 20130607120622 이런식으로 날짜뿐만아니라 시간 초까지 다 넣어놨습니다. 

그런데.. 이 형식을  <fmt:parseDate value="${item.FD_REG_DATE}" var="dateFmt" pattern="yyyyMMdd"/>

이런식으로 해도 자꾸 에러가 나더라구요..

아니 String형을 DATe형식으로 바꿔주는게 안될까 왜 안될까 했는데..

 

일단.. String 형의 데이터에 맞추서 날짜로 변경해 줘야 했던 것입니다..

그 변경된걸 다시.. 원하는 format으로 맞춰주게 해야 됩니다..

아래와 같이요!! 한번에 할려고 하지말고. 소스가 길어지더라두.. 나눠서 이것저것 도전해 보는 것이 중요할것 같습니다

<fmt:parseDate value="${item.FD_REG_DATE}" var="dateFmt" pattern="yyyyMMddHHmmss"/>
      <fmt:formatDate value="${dateFmt}"  pattern="yyyy-MM-dd"/></td> 

 



출처: http://javafactory.tistory.com/357 [FreeLife의 저장소]

LIST
블로그 이미지

SeoHW

,