japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
bean 한글처리
조회 : 2,920  



2001-02-04 kenu

지난 강좌에 이어 프로그램을 완성시켜보기로 하겠습니다. 이번 강좌에서는 Bean에서의 한글 처리에 대해서도 같이 살펴보기로 하죠.

일단 지난 번 빈에서는 Bean 내의 한글은 별다른 한글 처리 없이도 잘 나왔습니다. 지난 번 문제는 form에서 입력받은 값을 bean을 통과해서 출력을 할 때 깨져서 나오는 것을 봤습니다. 참고로 지금 강좌에서 사용하는 Engine은 tomcat 3.2.1입니다. 이 문제는 bean 안에서 한글인코딩 루틴을 추가함으로 해결됩니다.

코드를 보시죠.

JuminNumber.java (3)

public class JuminNumber {
	private String name = null;
	private String jumin_no1 = null;
	private String jumin_no2 = null;
	
	public void JuminNumber() {}
	public void setName(String str) {
	try {
		name = new String(str.getBytes("8859_1"),"euc-kr");
	} catch(java.io.UnsupportedEncodingException uee) {}
	}
/*
  public void setName(String str) {
		name = str;
	}
*/
	public void setJuminNumber1(String str) {
		jumin_no1 = str;
	}
	public void setJuminNumber2(String str) {
		jumin_no2 = str;
	}

	public String getName() {
		return name;
	}

	public String getJumin() {
		return jumin_no1+"-"+jumin_no2;
	}

	public String getGender() {
		int g = Integer.parseInt(jumin_no2.substring(0,1));
		g = g % 2;
		return (g==1)?"남":"여";
	}
	
}

이렇게 코드를 바꿔주시면 됩니다. 한 가지 bean을 수정할 때마다 tomcat을 재시작하지 않아도 변경된 사항이 바로 적용이 됩니다. 제가 특별히 바꿔준 옵션은 없습니다. 있다면 8080포트를 80으로 했다는 것 뿐이겠죠.

 

마저 완성시키도록 하겠습니다. 생년월일을 출력하는 것만 남았죠. 지난 강좌에서 길게 소스를 사용하면서 설명했기 때문에 이번 강좌에서 몫이 줄어들었네요. 하긴... 강좌로 쓸 토픽이 굉장히 많습니다.

getGender() 에서 보시면 아시겠지만 입력받은 값을 가공하는 것은 어렵지 않습니다. 현재 bean에 있는 getGender() 메소드의 값은 입력받는 JuminNumber2 에만 영향을 받습니다. 바로 이 값을 변경해서 집어 넣을 수는 없습니다.

생일 출력하는 일만 남았습니다.

JuminNumber.java (4)

public class JuminNumber {
	private String name = null;
	private String jumin_no1 = null;
	private String jumin_no2 = null;
	
	public void JuminNumber() {}
	public void setName(String str) {
	try {
		name = new String(str.getBytes("8859_1"),"euc-kr");
	} catch(java.io.UnsupportedEncodingException uee) {}
	}
	public void setJuminNumber1(String str) {
		jumin_no1 = str;
	}
	public void setJuminNumber2(String str) {
		jumin_no2 = str;
	}

	public String getName() {
		return name;
	}

	public String getJumin() {
		return jumin_no1+"-"+jumin_no2;
	}

	public String getGender() {
		int g = Integer.parseInt(jumin_no2.substring(0,1));
		g = g % 2;
		return (g==1)?"남":"여";
	}
	public String getBirthday() {
		int g = Integer.parseInt(jumin_no2.substring(0,1));
		int cent = 100 * (g/2);
		int y = Integer.parseInt(jumin_no1.substring(0,2));
		y = y + 1900 + cent;
		int m = Integer.parseInt(jumin_no1.substring(2,4));
		int d = Integer.parseInt(jumin_no1.substring(4,6));
		
		return ""+y+"년 "+m+"월 "+d+"일";
	}
	
}

어려운 것 있나요? 없죠? 그럼 bean.jsp 파일입니다. 헷갈리지 않도록 bean 에 맞춰서 번호를 넣겠습니다.

bean.jsp (4)

<jsp:useBean id="jumin" class="JuminNumber" />
<jsp:setProperty name="jumin" property="*"/>
이름 : <jsp:getProperty name="jumin" property="name" /><br>
주민번호 : <jsp:getProperty name="jumin" property="jumin" /><br>
성별 : <jsp:getProperty name="jumin" property="gender" /><br>
생년 : <jsp:getProperty name="jumin" property="birthday" /><br>

bean의 getBirthday() 와 jsp의 birthday 만 확실히 맞춰주시면 감사하겠습니다.

이번 강좌는 여기에서 마치도록 하겠습니다. 다음 강좌에서는 bean으로 배열 주고받는 연습을 해보겠습니다.

참고 :

kenu: heogn@shinbiro.com
http://okjsp.pe.kr


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=619


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 웹개발언어
PHP
JSP
python
기타
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.