JSTL 숫자 포맷

2012. 5. 18. 15:34 from JAVA

parameter 값 받기#

 

${paramValues['parameter name']}  

 

<c:set> 태그와 함께 사용 하면 

  1. <c:set var="status"    value="${paramValues['status']      }"/>

 

 

 

Loop 문 사용#

 

  1.     <c:forEach var="status" items="${sStatus}" varStatus="loop" >
           <c:out value="${loop.count}">
        </c:forEach>

 

ㅇ attribute 내용

attribute 설명
var 루프 내에서 사용될 래퍼런스 아이디
items 루프의 소스값 아마도 Array를 상속받은 객체이거나 혹은 Object[]형태의 배열일 것이다
begin 시작값
end 마지막 값
step 증가 숫자
varStatus 루프 상태를 알려주는 래퍼런스 아이디

 

DataSource 가져오기#

 

다음 한 문장으로 정의 됨

  1.     <sql:setDataSource
             dataSource="jdbc/mysql"/>

 

ㅇ 태그속성

Attribute 설명
driver 등록된 JDBC 드라이브 클래스 명
url 데이타베이스 접속을 위한 JDBC URL
user 사용자명
password 암호
dataSource WAS에 등록된 DataSource 명
var 참조될 아이디
scope  

 

트랜잭션 처리#

 

쿼리 update 가 일어 나는 <sql:update> 태그를 <sql:transaction> 태그로 감싸주면 된다.

 

 

데이타베이스 조회#

 

ㅇ <sql:query> 태그를 이용하여 쿼리문을 작성 한다.

  1.         <sql:query var="result">
                SELECT WORD_ID      
                     , SHORT_INTRO                        
                     , NO_GOOD_ID
                     , SEE_ALSO
                     , RELATION_SITE
                  FROM WORD_LIB
  2.              WHERE WORD_ID = ?
                  <sql:param value="${param_value}" />
            </sql:query>

 

ㅇ <c:forEach> 태그를 이용하여 화면에 출력 

  1.         <c:forEach items="${result.rows}" var="row">
            <TR>
                <TD/>
                <TD/>
                <TD><c:out value="${row.WORD_ID}"       /></TD>
                <TD><c:out value="${row.SHORT_INTRO}"   /></TD>           
                <TD><c:out value="${row.NO_GOOD_ID}"    /></TD>
                <TD><c:out value="${row.SEE_ALSO}"      /></TD>
                <TD><c:out value="${row.RELATION_SITE}" /></TD>
            </TR>
            </c:forEach>

 

 

ㅇ 전체 소스

  1.     <sql:setDataSource
             dataSource="jdbc/mysql"/>
            
        <sql:query var="result">
            SELECT WORD_ID      
                 , SHORT_INTRO                        
                 , NO_GOOD_ID
                 , SEE_ALSO
                 , RELATION_SITE
              FROM WORD_LIB
        </sql:query>
       
       
        <SHEET>   
            <DATA>
                <c:forEach items="${result.rows}" var="row">
                <TR>
                    <TD/>
                    <TD/>
                    <TD><c:out value="${row.WORD_ID}" /></TD>
                    <TD><c:out value="${row.SHORT_INTRO}" /></TD>
                   
                    <TD><c:out value="${row.NO_GOOD_ID}" /></TD>
                    <TD><c:out value="${row.SEE_ALSO}" /></TD>
                    <TD><c:out value="${row.RELATION_SITE}" /></TD>
                </TR>
                </c:forEach>
            </DATA>
       
        </SHEET>

 

 

데이타베이스 등록#

 

ㅇ <sql:update> 태그를 이용 등록 쿼리를 수행 한다

  1.                     <sql:update var="count">
                            INSERT INTO 'WORD_LIB'
                            (WORD_ID,
                             SHORT_INTRO,
                             NO_GOOD_ID,
                             SEE_ALSO,
                             RELATION_SITE)
                            VALUES
                            (?,?,?,?,?)
                            <sql:param value="${word_id      [loop.count-1]}" />
                            <sql:param value="${short_intro  [loop.count-1]}" />
                            <sql:param value="${no_good_id   [loop.count-1]}" />
                            <sql:param value="${see_also     [loop.count-1]}" />
                            <sql:param value="${relation_site[loop.count-1]}" />
                        </sql:update>

 

ㅇ 트랜잭션 처리가 필요 하다면

       <sql:transaction> 태그를 감싸주면 된다.

 

 

숫자를 통화단위 포멧으로#

 

<fmt:formatNumber> 태그를 이용하여 숫자형 통화단위 포멧을 원하는 형태로 쉽게 출력 할 수 있다.

  1. <fmt:formatNumber value="1234567" pattern="#,###.####" />                       
    <fmt:formatNumber value="1234567" pattern="#,###.####$" />                     
    <fmt:formatNumber value="1234567" pattern="#,###.####" maxIntegerDigits="2"/>   
    <fmt:formatNumber value="1234567" pattern="#,###.####" minFractionDigits="2"/>  

 

결과

  1. 1,234,567
    1,234,567$
    67
    1,234,567.00

 

ㅇ 태그 속성

attribute 설명
value Number valut to display
type NUMBER, CURRENCY, PERCENT
pattern 보여줄 포멧의 패턴
currencyCode type="currency"일때 통화 코드
currencySymbol type="currency"일때 통화 심볼
groupingUsed 그룹넘버인지 아닌지
maxIntegerDigits 소숫점 이상 최대 자리수
minIntegerDigits 소숫점 이하 최소 자리수
maxFractionDigits 소숫점 이하 최대 자리수
minFactionDigits 소숫점 이하 최소 자리수
var 변수명
scope scope

 

 

통화단위 포멧의 숫자를 숫자형으로#

 

<fmt:parseNumber/> 태그를 이용하여 통화단위로 나타나는 숫자로 원래 모습으로 되돌려 놓는다.

 

  1. <fmt:parseNumber  value="1,234,567" pattern="#,###" var="money"/>
    <c:out value="${money}"/>
  2. 결과는
  3. 1234567

 

 

ㅇ 태그 속성

 attribute 설명
value 파싱 당할 숫자의 값
type number, currency, percent
parseLocale 파싱할때 사용할 Locale
integerOnly Integer(ture)인지, floating-point(false)인지
pattern 파싱 패턴
var 변수명
scope  

 

 

날짜를 날짜형 포멧으로#

 

<fmt:formatDate/>

Date 객체를 원하는 날짜형 포멧으로 변경하여 출력 할 수 있다.

  1. <fmt:formatDate value="${date}" pattern="yyyy/MM/dd hh:mm"/>
  2. 결과
  3. 2004/01/01 12:34

 

 

ㅇ 태그 속성

Attribute 설명
value  날짜 객체
type DATE, TIME, BOTH
dateStyle FULL, LONG, MEDIUM, SHORT, DEFAULT
timeStyle FULL, LONG, MEDIUM, SHORT, DEFAULT
pattern 날짜 패턴
timeZone 출력된 날짜의 TimeZone
var 변수
scope  

 

 

 

날짜형 포멧을 날짜객체로#

 

<fmt:parseDate /> 태그를 이용하여 날짜형 스트링값을 날짜 객체로 변환 할 수 있다

  1. <fmt:parseDate var="date" value="200401011234" pattern="yyyyMMddhhmm"/>

 

 

 

ㅇ 태그 속성

Attribute 설명
value 날짜
type DATE, TIME, BOTH
dateStyle FULL, LONG, MEDIUM, SHORT, DEFAULT
timeStyle FULL, LONG, MEDIUM, SHORT, DEFAULT
parseLocate 파싱 때 사용할 Locale
pattern 파싱할 패턴

'JAVA' 카테고리의 다른 글

groovy와 java의 차이점  (0) 2012.08.28
OOM 발생시 heap Dump 옵션  (0) 2012.08.14
이클립스 단축키  (0) 2012.04.06
[Java] 현재 시스템의 IPv4기반의 IP주소 가져오기 ; loopback주소 문제  (0) 2012.02.14
JAVA 형변환  (0) 2012.02.06
Posted by 에시드 :