- 다음은 대한민국, 미국, 일본 의화폐문자출력과날짜, 시간을출력하는 JSP(WorldFormat.jsp) contenttype="text/html; charset=euc-kr"%> import="java.util.*"%>

Similar documents
다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

계속되는 JSTL 의활약 <c:foreach> 액션의 items에사용할수있는자료의형태 - <c:foreach var="dish" items="${???}"> - 즉, 위의??? 부분에사용할수있는자료의형태는다음과같다. 배열, 컬렉션프레임워크,, 로구분된항목들을포함한문자열

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

뇌를 자극하는 JSP & Servlet 슬라이드

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

TP_jsp7.PDF

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

PowerPoint Template

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Javascript

Studuino소프트웨어 설치

Microsoft Word - src.doc

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - aj-lecture8.ppt [호환 모드]

로거 자료실

ISP and CodeVisionAVR C Compiler.hwp

PowerPoint Presentation

PHP & ASP

1

게시판 스팸 실시간 차단 시스템

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

PowerPoint 프레젠테이션

04장

14-Servlet

미쓰리 파워포인트

쉽게 풀어쓴 C 프로그래밍

<param-value> 파라미터의값 </param-value> </init-param> </servlet> <servlet-mapping> <url-pattern>/ 매핑문자열 </url-pattern> </servlet-mapping> - 위의예에서 ServletC

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

PowerPoint 프레젠테이션

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - 4강.pptx

Data Provisioning Services for mobile clients

Data Provisioning Services for mobile clients

PowerPoint 프레젠테이션

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager


Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Visual Basic 반복문

2장 변수와 프로시저 작성하기

중간고사

2009년 상반기 사업계획

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

Microsoft PowerPoint - chap06-1Array.ppt

JVM 메모리구조

PowerPoint Template

Microsoft PowerPoint - 웹프로그래밍_ ppt [호환 모드]

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

System Recovery 사용자 매뉴얼

Install stm32cubemx and st-link utility

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

Javascript

3장

JAVA Bean & Session - Cookie

Microsoft PowerPoint Python-WebDB

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

NTD36HD Manual

Endpoint Protector - Active Directory Deployment Guide

슬라이드 1

PowerPoint 프레젠테이션

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Data Provisioning Services for mobile clients

OCW_C언어 기초

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

뇌를 자극하는 JSP & Servlet 슬라이드

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

Microsoft PowerPoint Python-Web.pptx

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

tiawPlot ac 사용방법

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

제 2 장 기본 사용법

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

PowerPoint 프레젠테이션

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

Chapter 1

쉽게 풀어쓴 C 프로그래밍

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

뇌를 자극하는 JSP & Servlet 슬라이드

Office 365 사용자 가이드

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

歯MW-1000AP_Manual_Kor_HJS.PDF

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Transcription:

국제적으로노는 JSTL 지역별로다른기능을사용할수있도록설정하는 <fmt:setlocale> 커스텀액션 - 날짜와시간, 통화기호들은사용하는언어와국가에따라서달라진다. - <fmt:setlocale> 액션태그는이런차이를반영해서특정지역에맞도록데이터의형태를설정할때사용한다. - 다음은영어권지역으로설정하는예 <fmt:setlocale value="en" /> - 위의예에서 "en" 은영어권지역을의미한다. 이와같이설정한후 <fmt:formatdate> 액션태그를사용하면출력되는날짜의형태가 요일, 월일, 년도 순서가된다. - 이태그를국가로도지정할수있다. 같은영어권지역이라고하더라도미국과영국등으로국가는다르다. - 이와같은경우언어지역과국가를동시에지정한다. <fmt:setlocale value="en_us" /> - 위의기능은날짜와시간이영어권에맞게설정되고, <fmt:formatnumber /> 액션을이용해서출력되는모든금액앞에는달러를의미하는 $ 기호가자동으로추가된다. 언어코드와국가코드는국제표준화기구에서제정한것으로, 전세계의언어코드와국가코드를검색하려면자바 API 의 Locale 클래스를찾은후내용중 "ISO language Code" 와 "ISO Country Code" 를클릭하면자세한내용을살펴 볼수있다.

- 다음은 대한민국, 미국, 일본 의화폐문자출력과날짜, 시간을출력하는 JSP(WorldFormat.jsp) <%@page contenttype="text/html; charset=euc-kr"%> <%@page import="java.util.*"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <c:set var="date" value="<%= new Date() %>" /> <HTML> <HEAD><TITLE> 나라마다다른포맷 </TITLE></HEAD> <BODY> <H3> 우리나라의포맷 </H3> <fmt:setlocale value="ko_kr" /> 금액 : <fmt:formatnumber value="1000000" type="currency" /> <BR> 일시 : <fmt:formatdate value="${date}" type="both" datestyle="full" timestyle="full" /> <BR> <H3> 미국의포맷 </H3> <fmt:setlocale value="en_us" /> 금액 : <fmt:formatnumber value="1000000" type="currency" /> <BR> 일시 : <fmt:formatdate value="${date}" type="both" datestyle="full" timestyle="full" /> <BR> <H3> 일본의포맷 </H3> <fmt:setlocale value="ja_jp" /> 금액 : <fmt:formatnumber value="1000000" type="currency" /> <BR> 일시 : <fmt:formatdate value="${date}" type="both" datestyle="full" timestyle="full" /> <BR> </BODY> </HTML> 시간대를설정하는 <fmt:timezone>, <fmt:settimezone> 액션태그 - 날짜와시각은지구상의지역을구분해서변경된다. 즉, 동일한시간대에있는지역의시간은모두동일하지만다른시간대에있는지역의시간과는서로다르다. - <fmt:timezone> 액션태그는이와같이시간대에해당하는지역이름을설정하는역할을한다. - <fmt:timezone> 의시작태그와종료태그사이에포함된영역에영향을미쳐서출력되는날짜와시각은해당시간대영영ㄱ에맞게표시된다. <fmt:timezone value="america/new_york"> 날짜 : <fmt:formatdate value="${date}" type="date" /> 시작태그와종료태그사이에영향을미친다. 시각 : <fmt:formatdate value="${date}" type="time" /> 시작태그와종료태그사이에영향을미친다. </fmt:timezone> - 위의예는날짜와시각을미국의뉴욕시간대에맞춰서출력한다. 위에서사용한 "America/New_York" 은시간대를대표하는지역의이름으로반드시지정된이름을사용해야한다. 시간대의대표지역이름은 java.util.timezone 클래스의 getavailableids() 메서드를호출해서파악할수있다. 이메서드의리턴타입은 String[] 이고배열의값을모두출력해보면시간대의모든대표지역이름을살펴볼수있다. 다음은시간대의대표지역이름리스트를출력하는 JSP의예

<%@ page contenttype="text/html; charset=euc-kr" %> <%@ page import="java.util.timezone" %> <html> <head><title> 시간대대표지역이름리스트 </title></head> <body> <% String timelist[] = TimeZone.getAvailableIDs(); for(int cnt = 0; cnt < timelist.length; cnt++) { out.println(timelist[cnt] + "<br>"); } %> </body> </html> - 다음은 <fmt:timezone> 액션태그를사용해서각지역별현재시각을출력하는 JSP(WorldTime.jsp) <%@page contenttype="text/html; charset=euc-kr"%> <%@page import="java.util.*"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <c:set var="date" value="<%= new Date() %>" /> <HTML> <HEAD><TITLE> 세계시프로그램 </TITLE></HEAD> <BODY> 서울 : <fmt:formatdate value="${date}" type="both" /> <BR> <fmt:timezone value="asia/hong_kong" > 홍콩 : <fmt:formatdate value="${date}" type="both" /> <BR> 시작태그와종료태그사이에영향을미친다. </fmt:timezone> <fmt:timezone value="europe/london" > 런던 : <fmt:formatdate value="${date}" type="both" /> <BR> 시작태그와종료태그사이에영향을미친다. </fmt:timezone> <fmt:timezone value="america/new_york" > 뉴욕 : <fmt:formatdate value="${date}" type="both" /> <BR> 시작태그와종료태그사이에영향을미친다. </fmt:timezone> </BODY> </HTML> - <fmt:settimezone> 태그는 <fmt:timezone> 태그와같은기능을갖고있다. 차이점은시작태그와종료태그사이에영향을미치는것이아니라태그가사용된다음의모든부분에영향을미친다. - 다음은위의 WorldTime.jsp를 <fmt:settimezone> 태그를사용해서다시작성한예 <fmt:settimezone value="asia/hong_kong" /> 태그의몸통이없이바로끝난다. 홍콩 : <fmt:formatdate value="${date}" type="both" /> <BR> 바로위태그의영향을받는다. 즉 홍콩 <fmt:settimezone value="europe/london" /> 태그의몸통이없이바로끝난다. 런던 : <fmt:formatdate value="${date}" type="both" /> <BR> 바로위태그의영향을받는다. 즉 런던

<fmt:settimezone value="america/new_york" /> 태그의몸통이없이바로끝난다. 뉴욕 : <fmt:formatdate value="${date}" type="both" /> <BR> 바로위태그의영향을받는다. 즉 뉴욕 도전과제 : 각대륙별 ( 아프리카, 유럽, 아시아, 아메리카, 오세아니아 ) 로국가를선택해서각국가들의시각을출력 하는 JSP 를작성하세요. 유식한 JSTL. 세계각국의언어로출력할수있다. - 위에서살펴본것처럼 JSTL은세계의다양한지역의상황에맞게출력되는형태를변경하는기능을제공하고있다. - 그런데, 위와같이날짜나시각이라는데이터가아닌일반문자열도여러나라의언어로표현해야할경우도있다. - 예를들어, 하나의 JSP 페이지를작성한후고객이사용하는웹브라우저의설정언어에따라서해당지역의언어를출력할수있다. 즉, 전세계에공장을가지고있는다국적기업인경우에는회사의소개웹페이지를다양한언어로제공해야할필요가있다. - 이런경우에사용하는액션태그가 <fmt:sebundle> 이나 <fmt:bundle> 액션태그이다. - 이태그들은하나의 JSP 웹페이지를사용해서여러가지의언어를생성하는기능을지원한다. - 이태그들은브라우저의설정언어에따라서로다른파일을읽어서출력하는방식을사용하므로, 사용하려는언어의갯수만큼해당언어로작성된파일을생성해야한다. 이런파일을 프로퍼티파일 (property file) 이라고한다. - 프로퍼티파일 은문자열데이터를 키 = 값 ( 문자열 ) 의형태로작성된파일이다. - 한글로작성된데이터를내용으로하는프로퍼티파일과, 일어로작성된데이터를내용으로하는프로퍼티파일을만들고, 이프로퍼티파일을액션태그가사용해서다른종류의언어를내용으로하는웹페이지가생성된다. - 프로퍼티파일 을사용하지않는다면, 한글로작성된페이지와, 일어로작성된페이지각각이있어야하지만, 웹페이지의구조를하나만들고내용에대한부분을각각의언어로 프로퍼티파일 을만들면, 별도의웹페이지작성없이한글과일어로작성된웹페이지를생성할수있다. - 다음은한글과영어로작성된 프로퍼티파일 의예 한글로작성된프로퍼티파일의내용 TITLE= 회사소개 GREETING= 우리회사를방문해주셔서감사합니다. BODY= 우리회사는웹어플리케이션을전문적으로개발하는회사입니다. COMPANY_NAME=( 주 ) 대양컴퍼니 영어로작성된프로퍼티파일의내용 TITLE=About Us GREETING=Thank for your visiting our company BODY=We are a dedicated company to develop web application COMPANY_NAME=DaeYang Company Inc. - 위의프로퍼터파일의내용을보면키와값의쌍으로데이터가저장되어있슴을확인할수있다. - 프로퍼티파일은내용을작성하는규칙외에도파일의확장자를정하는규칙도존재한다. 1 파일의확장자는반드시 properties 이어야한다.( 예 intro.properties) 2 파일이름뒤에밑줄 (_) 을붙이고언어코드를쓴후확장자를붙인다. 즉, 파일의이름이 Intro이면, 한글인경우 Intro_ko, 영어인경우 Intro_en이된다. 따라서, 전제적인프로퍼티파일의이름은 Intro_ko.properties, Intro_en.properties 이다. 3 /WEB-INF/classes 폴더에프로퍼티파일들을저장한다.

영문프로퍼티파일의작성 - 영문프로퍼티파일은파일이름과언어코드그리고.properties 확장자를붙여서파일을생성하고, 영문으로내용을입력하면완성된다. 한글프로퍼티파일의작성 - 한글은국제표준의문자코드로변환하기위해별도의변환작업을수행해야한다. 1 한글을내용으로하는프로퍼티파일을만들고확장자를 properties.??? 형식으로설정한다.??? 부분에는별도의단어를추가해서변환하기전의파일임을나타내도록한다. 예를들어, XXX_ko.properties.org 라고하면내용이변환되기전의프로퍼티파일임을쉽게알수있다. 2 명령어창을열어서 "native2ascii XXX_ko.properties.org XXX_ko.properties" 라는명령어를실행해서한글을표준문자코드로변환한다. 3 이클립스의해당프로젝트폴더를선택한후 refresh" 를클릭해서새로고침을해서프로퍼티즈파일이정상적으 로생성되었는지확인한다. 국제화웹페이지만들기준비완료! 사용할태그는 <fmt:setbundle> - <fmt:setbundle> 을사용해서사용할프로퍼티파일을지정한다. - 파일을지정할때는 <fmt:setbundle basename=" 파일이름 " /> 으로지정한다. 여기주의할사항은 파일이름 에는위에서만든프로퍼티즈파일의전체이름을사용한것이아니라, 파일이름중밑줄과언어코드, 그리고확장자

(properties) 는제외한이름을사용한다. - 프로퍼티즈파일이름이 Intro_ko.properties 이면 basename="intro" 만지정한다. - 프로퍼티즈파일이름지정이완료되었으면, <fmt:message key="???" /> 태그를사용해서프로퍼티즈파일에있는 키 의이름을??? 부분에명시한다. 그러면, 웹페이지에는지정된 키 에해당하는 값 이출력된다. 다음의예제에사용할프로퍼티즈파일 (Intro_ko.properties) 의내용 TITLE=\ud68c\uc0ac\uc18c\uac1c GREETING=\uc774 \uc0ac\uc774\ud2b8\ub97c \ubc29\ubb38\ud574 \uc8fc\uc154\uc11c \uac10\uc0ac\ud569\ub2c8\ub2e4. BODY=\ub2f9\uc0ac\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc14\ub97c \uc8fc \uc5c5\ubb34\ub85c \ud558\ub294 \ud68c\uc0ac\uc785\ub2c8\ub2e4. COMPANY_NAME=(\uc8fc)\uc54c\ud30c \uc18c\ud504\ud2b8\uc6e8\uc5b4 - 위에서확인하듯이한글이표준코드로변경되어있다. 회사소개글언어별출력 JSP(CompanyIntro.jsp) <%@page contenttype="text/html; charset=euc-kr"%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <fmt:setbundle basename="intro" /> 위에서작성한프로퍼티즈파일이름.( 확장자, 밑줄, 언어코드제외 ) <HTML> <HEAD><TITLE><fmt:message key="title" /></TITLE></HEAD> TITLE에해당하는값출력 <BODY> <H3><fmt:message key="title" /></H3> TITLE에해당하는값출력 <fmt:message key="greeting" /> <BR><BR> GREETING에해당하는값출력 <fmt:message key="body" /> <BR><BR> BODY에해당하는값출력 <FONT size=2><fmt:message key="company_name" /></FONT> COMPANY_NAME의값출력 </BODY> </HTML>

위 JSP 의결과화면 이번에는영문으로작성된내용출력 - 사용하는웹브라우저의언어를 영어 로설정한뒤동일한 JSP를다시시작한다. - 웹브라우저의 언어 를변경하는방법 웹브라우저의 도구 클릭 인터넷옵션 클릭 일반 탭화면의하단에 언어 클릭 영어 를 위로이동 혹은 영어 가없으면 추가 버튼을눌러서 영어 를추가 위 JSP 의결과화면

프로퍼티즈파일을쉽게만들어주는플러그-인 - 영어이외의프로퍼티즈파일을만드는방법은다소번거롭기도하고생성된프로퍼티즈파일의내용을알아보기도어렵다. - 번거로운프로퍼티즈파일을만드는방법을쉽게하는이클립스플러그-인을다음의순서로설치한다. 1 이클립스의 Help 메뉴의 Software Updates 선택 2 Add Site를선택해서 http://propedit.sourceforge.jp/eclipse/updates/ 입력 3 잠시기다리면, 설치가능한파일들목록이출력되는데, PropertiesEditor 를선택해서설치한다. 4 프로퍼티즈파일을생성하러면, "New" 선택후 기타 에서 Java" 항목의 프로퍼티파일 을선택한다. 5 프로퍼티즈파일의이름을입력해서생성한다. 6 내용을입력하려면, 프로퍼티즈파일을마우스로선택하고, 마우스의오른쪽버튼을클릭해서 "Open With" 항목을선택한후 "PropertiesEditor" 메뉴를선택한다. 7 프로퍼티즈파일을만드는규칙에따라내용을입력한다. 한글로입력하면자동으로한글이표준코드로바뀌어저장된다. 어떤언어로입력해도저장될때는표준코드로바뀌어서저장된다. 변수를사용한 <fmt:message> 액션태그 - <fmt:message key="title" /> 를사용하면해당위치에값이출력된다. 그런데, 이값을바로출력하는대신에변수에저장시켜서여러번반복해서사용할수도있다. - <fmt:message var="title" key="title" /> 이와같이 var항목지정된변수를사용할수있다. - 다음은위의 "CompanyIntro.jsp" 를변수를사용할수있도록변경한 JSP <%@page contenttype="text/html; charset=euc-kr"%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <fmt:setbundle basename="intro" /> <fmt:message var="title" key="title" /> <fmt:message var="greeting" key="greeting" /> <fmt:message var="body" key="body" /> <fmt:message var="companyname" key="company_name" /> <HTML> <HEAD><TITLE><fmt:message key="title" /></TITLE></HEAD> <BODY> <H3>${title}</H3> ${greeting} <BR><BR> ${body} <BR><BR> <FONT size=2>${companyname}</font> </BODY> </HTML>

<fmt:bundle> 액션태그 - 이액션태그는 <fmt:setbundle> 액션태그와기능은같지만시작태그와종료태그사이에있는부분만영향을미친다. - 다음은위의예를 <fmt:bundle> 액션태그로변경한예 <fmt:bundle basename="intro" > <fmt:message var="title" key="title" /> <fmt:message var="greeting" key="greeting" /> <fmt:message var="body" key="body" /> <fmt:message var="companyname" key="company_name" /> </fmt:bundle> 웹페이지에서프로퍼티즈파일로의데이터전송 - 프로퍼티즈파일의내용에 변경되는부분 은완성할수없다. 예를들어,??? 님반갑습니다. 를출력할때물음표부분은미리그내용을알수없기때문에프로퍼티즈파일내용으로작성할수없다. - 이부분에파라미터를사용하면전달받은값을출력할수있다. 즉, 위의물음표부분에전달받은값을출력하면방문한고객의이름을대입함으로써완성된문장을출력할수있다. - 다음은파라미터를통해서값을출력할수있도록작성된프로퍼티즈파일의예 GREETING= 안녕하세요. {0} 님, 반갑습니다. 당신의취미는 {1} 이네요. - 위의 {0} 과 {1} 에전달받은값을출력한다. - 다음은위의 {0} 과 {1} 에데이터를전달하는 JSP 페이지의코드 <fmt:message var="greeting" key="greeting" > <fmt:param>bigtree</fmt:param> 프로퍼티즈파일의 {0} 부분에대응된다. <fmt:param>watcing TV</fmt:param> 프로퍼티즈파일의 {1} 부분에대응된다. </fmt:message> <fmt:message> 액션태그를사용한예 - 다음은입력된 사용자이름 과 취미 를출력할수있는한글프로퍼티즈파일 (Welcome_ko.properties) TITLE= 환영인사 GREETING= 안녕하세요 {0} 님, 취미가 {1} 이군요. BODY= 좋은취미를갖고계십니다.\ 문장이길때다음줄로이어진다는의미즐거운시간을보내시기바랍니다. COMPANY_NAME=( 주 ) 알파엔터테인먼트 - 다음은입력된 사용자이름 과 취미 를출력할수있는영문프로퍼티즈파일 (Welcome_en.properties) TITLE=Welcome GREETING=How are you, Dear {0}, Your hobby is {1}. BODY=You have a good hobby. Have a good time. COMPANY_NAME=Alpha Entertainment Inc. - 다음은 사용자이름 과 취미 를입력할수있는입력창 (InputNameHobby.html) <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head>

<meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>insert title here</title> </head> <body> <form action="welcomeview.jsp" method="post"> 당신의이름을입력하세요. <input type="text" name="id"><br> 당신의취미를입력하세요. <input type="text" name="hobby"><br> <input type="submit" value=" 입력 "/> </form> </body> </html> - 다음은입력된 사용자이름 과 취미 를프로퍼티즈파일을사용해서출력할수있는 JSP(WelcomeView.jsp) <%@ page language="java" contenttype="text/html; charset=euc-kr" pageencoding="euc-kr"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <fmt:bundle basename="welcome" > <fmt:message var="title" key="title" /> <fmt:message var="greeting" key="greeting" > <fmt:param>${param.id}</fmt:param> <fmt:param>${param.hobby}</fmt:param> </fmt:message> <fmt:message var="body" key="body" /> <fmt:message var="comapnyname" key="comapny_name" /> </fmt:bundle> <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>${title }</title> </head> <body> ${greeting }<br><br> ${body }<br><br> <font size=2>${companyname }</font> </body> </html> POST 방식으로전송된한글데이터를받아서처리할수있도록해주는 <fmt:requestencoding> 액션태그 - 웹브라우저에서 <form> 태그를통해서입력된한글데이터를 POST 방식으로전송하면별도의처리를해주지않는이상한글이깨져서출력된다. - 이러한현상은한글데이터를국제표준코드로다시변경해야한글데이터가깨지는현상을방지할수있다. - 지금까지는자바코드를사용해서국제표준코드로변경하는작업을수행했다.

<% request.setcharacterencoding("euc-kr"); %> - 하지만, 웹페이지에서자바코드를사용하지않아야하므로, 이를대신할수있는태그가필요하게되었으며, 이러한기능의태그가 <fmt:requestencodeing value="euc-kr" /> 태그이다. - 위의예에서 사용자이름 과 취미 를모두한글로입력하면출력되는결과화면에한글이깨져서출력된다. - 한글의깨짐현상을방지하기위해서는위의 JSP 페이지상단에 <fmt:requestencoding value="euc-kr" /> 을추가한다. 도전과제 : 본인의소개글을한글과일어, 영어로출력할수있도록프로퍼티즈파일과웹페이지를작성하세요.