티스토리 뷰

Language/JSP

9월 22일 D+41 [16장 : JSTL(2) ]

구일일구 2022. 9. 22. 17:38
반응형

국제화 태그 

기능분류 태그 설명
로케일 지정 setLocale Locale을 지정한다.
requestEncoding 요청 파라미터의 캐릭터 인코딩을 지정
메시지 처리
: 한글과 영문을 선택해서 그거대로 나오게 함
bundle 사용할 번들을 지정
message 지역에 알맞은 메시지를 출력
setBundle 리소스 번들을 읽어와 특정 변수에 저장
숫자 및 날짜 포맷팅 formatNumber 숫자를 포맷팅 : SimpleDateFormat대신할 수 있음
formatDate Date 객체를 포맷팅
parseDate 문자열로 표시된 날짜를 분석해서 Date 객체로 변환
parseNumber 문자열로 표시된 날짜를 분석해서 숫자로 변환
setTimeZone 시간대 정보를 특정 변수에 저장
timeZone 시간대를 지정

* format은 진짜 날짜와 숫자

* parse가 붙은 애들은 문자열로 표시된걸 받음 : 근데 쓸일없음

 

로케일 지정 및 요청 파라미터 인코딩 지정

* <fmt:setLocale value="언어코드" scope="범위" />

국제화 태그가 Accept-Language 헤더에서 지정한 언어가 아닌 다른 언어를 사용하도록 지정하는 기능

setLocale : prefix로 fmt를 많이 사용함 국제화에선 / 언어 코드에는 영문en , 미국us , 한국ko 이렇게 두자짜리 언어 코드 들어감 /  태그가 다른 언어를 지정할 수 있게 해줌

*<fmt:requestEncoding value="캐릭터셋" />

 requestEncoding은 setCharacterEncoding이랑 동일함

 

<fmt:message> 태그

* 리소스 번들 범위에서 메시지 읽기 : 기억해야 할 것 : bundle, message

* 지정한 번들에서 메시지 읽기 : setBundle인것 기억하기

* <fmt:message> 태그의 메시지 읽는 순서

  • bundle 속성에 지정한 리소스 번들을 사용
  • <fmt:bundle> 태그에 중첩된 경우 <fmt:bundle> 태그에서 설정한 리소스 번들 사용
  • 위의 내용이 아닌 경우, 기본 리소스 번들 사용 : 기본 리소스 번들은 web.xml 파일에서javax.servlet.jsp.jstl.fmt.localizationContext 콘텍스트 속성을 통해서 설정 가능

 

 

formatNumber 태그

* 숫자를 포맷팅함

* 주요 속성

속성 표현식/EL 타입 설명
value 사용 가능 String 또는
Number
양식에 맞춰 출력할 숫자
type 사용 가능 String 어떤 양식으로 출력할지를 정한다. number 숫자형식, percent % 형식, currency 통화형식으로 출력. 기본 값은 number.
pattern 사용 가능 String 직접 숫자가 출력되는 양식을 지정한다. DecimalFormat 클래스에서 정의되어 있는 패턴 사용
var 사용 불가 String 포맷팅 한 결과를 저장할 변수 명. var 속성을 사용하지 않으면 결과가 곧바로 출력.
scope 사용 불가 String 변수를 저장할 영역. 기본 값은 page 이다.

 

parseNumber 태그 

* 문자열을 숫자로 포맷팅함 : 근데 잘 안씀

* 주요 속성

속성 표현식/EL 타입 설명
value 사용 가능 String 파싱할 문자열
type 사용 가능 String value 속성의 문자열 타입을 지정. number, currency, percentage 가 올 수 있다. 기본 값은 number
pattern 사용 가능 String 직접 파싱할 때 사용할 양식을 지정
var 사용 불가 String 파싱한 결과를 저장할 변수 명을 지정
scope 사용 불가 String 변수를 저장할 영역을 지정한다. 기본 값은 page.

 

formatDate 태그

* SimpleDateFormat 대신할 수 있음

* 날짜 정보를 담은 객체(Date)를 포맷팅함

* 주요 속성

속성 표현식/EL 타입 설명
value 사용 가능 java.util.Date 포맷팅할 날짜 및 시간 값
type 사용 가능 String 날짜, 시간 또는 둘 다 포맷팅 할 지의 여부를 지정
dateStyle 사용 가능 String 날짜에 대포맷팅 스타일을 지정
timeStyle 사용 가능 String 시간에 대 포맷팅 스타일을 지정
pattern 사용 가능 String 직접 파싱할 때 사용할 양식을 지정
var 사용 불가 String 파싱한 결과를 저장할 변수 명을 지정
scope 사용 불가 String 변수를 저장할 영역을 지정

 

timezone과 setTimeZone

* 국제화 태그가 사용할 시간대 설정

 

JSTL이 제공하는 주요 EL 함수

 String의 함수랑 거의 비슷

함수 설명
length(obj) obj List와 같은 Collection인 경우 저장된 항목의 개수를 리턴하고, obj가 문자열일 경우 문자열의 길이를 리턴한다.
toUpperCase(str) str을 대문자로 변환한다.
toLowerCase(str) str을 소문자로 변환한다.
substring(str, idx1, idx2) str.substring(idx1, idx2)의 결과를 리턴한다. idx2 -1일 경우 str.substring(idx1)과 동일하다.
trim(str) str 좌우의 공백문자를 제거한다.
replace(str, src, dest) str에 있는 src dest로 변환한다.
indexOf(str1, str2) str1에서 str2가 위치한 인덱스를 구한다.
startsWith(str1, str2) str1 str2로 시작할 경우 true, 그렇지 않을 경우 false를 리턴한다.
endsWith(str1, str2) str1 str2로 끝나는 경우 true, 그렇지 않을 경우 false를 리턴한다.
contains(str1, str2) str1 str2를 포함하고 있을 경우 true를 리턴한다.
escapeXml(str) XML의 객체 참조에 해당하는 특수 문자를 처리한다. 예를 들어, '&' '&amp;'로 변환한다.

 

프로젝트 하는 동안은 JSP에서 EL과 JSTL을 쓰기 때문에,,  알아둬야 한다~_~

반응형
댓글