- message.property
:: 메모장에 message.properties로 저장한 파일을 src에 넣은 값.
1 2 3 | TITLE = MadVirus's Learning JSP 2.1 GREETING = HI! I'm BK VISITOR = Your ID is {0}. | cs |
- bundle
사용할 번들을 지정
1. 리소스 번들 범위에서 메시지 읽기
1 | GREETING = HI! I'm BK | cs |
1 2 | <fmt:bundle basename = "resource.message"> <fmt:message key = "GREETING"/> | cs |
==> 변수없이 번들로 지정해놓으면, key값으로 바로 호출할수있다.
key로 GREETING으로 설정하면 HI! I'm BK가 출력이 된다.
- setBundle
2. 리소스 번들을 읽어와 특정 '변수'에 저장
1 | TITLE = MadVirus's Learning JSP 2.1 | cs |
1 2 3 | <fmt:setBundle var = "message" basename = "resource.message" /> <fmt:message bundle="${message}" key="TITLE" var = "title"/> ${title} | cs |
(1) set설정해서 이 번들을 변수명으로 호출할때마다 사용할수있게한다.
(2) var 변수에 저장해놓은 번들메시지는 변수명으로 EL호출할때 사용
(3) EL로 message를 호출하고 다시 변수 title로 저장해서 호출한다
- message
3. 지역에 알맞은 메시지를 출력
1 | VISITOR = Your ID is {0}. | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <fmt:message bundle="${message }" key = "GREETING"/> <!-- 변수저장없는 번들메시지는 이때 즉시 바로 출력이 된다. --> <br> <c:if test="${!empty param.id }"> <fmt:message bundle="${message }" key = "VISITOR"> <fmt:param value ="${param.id }"/> </fmt:message> <!-- 변수저장없는 번들메시지이므로 바로 출력이 되어야한다. key값으로 VISITOR를 호출하면 value값이 나오는데 value값에 {0}으로 저장해놓은값을 param으로 꺼낸다. {1}이 추가되어있다면 fmt:param을 한줄 더 쓴다. 순서대로 값을 출력을 하게 된다. --> </c:if> | cs |
- <fmt:message> 태그의 메시지 읽는 순서
1. bundle 속성에 지정한 리소스 번들을 사용
2. bundle태그에 중첩된 경우 bundle태그에서 설정한 리소스 번들 사용
3. 1,2 둘다 아닐 경우 기본 리로스 번들 사용.
기본 리소스 번들은 web.xml파일에서
javax.servlet.jsp.jstl.fmt.localizationContext
콘텍스트 속성을 통해 설정가능
1 2 3 4 | <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>resource.message</param-value> </context-param> | cs |
'JAVA > JSP, JSTL, EL' 카테고리의 다른 글
register-form.jsp (0) | 2018.08.17 |
---|---|
JSTL - redirect / url / import(URL관련태그) (0) | 2018.07.25 |
JSTL - out / catch(기타코어태그) (0) | 2018.07.25 |
JSTL - foreach / forToken(반복제어) (0) | 2018.07.25 |
JSTL - if / choose(흐름제어) (0) | 2018.07.25 |