반응형
전자정부프레임워크에서 공통 코드를 관리하고 다국어 메시지를 처리하는 방법을 학습합니다. 공통 코드는 코드 중복을 줄이고 일관성을 유지하는 데 사용되며, 다국어 메시지 처리는 글로벌 서비스 개발에 필수적인 기능입니다.
1. 공통 코드 관리
전자정부프레임워크에서는 공통 코드를 통해 여러 화면이나 기능에서 반복적으로 사용되는 데이터를 중앙에서 관리할 수 있습니다.
1-1. 공통 코드의 예시
- 성별: 남성(M), 여성(F)
- 국가: 한국(KOR), 미국(USA), 일본(JPN)
- 상태: 활성(Active), 비활성(Inactive)
1-2. 공통 코드 테이블 생성
데이터베이스에 공통 코드를 관리하기 위한 테이블을 생성합니다.
CREATE TABLE COMMON_CODE (
CODE_GROUP VARCHAR(10) NOT NULL,
CODE_ID VARCHAR(10) NOT NULL,
CODE_NAME VARCHAR(50) NOT NULL,
USE_YN CHAR(1) DEFAULT 'Y',
PRIMARY KEY (CODE_GROUP, CODE_ID)
);
1-3. 공통 코드 데이터 삽입
INSERT INTO COMMON_CODE (CODE_GROUP, CODE_ID, CODE_NAME, USE_YN)
VALUES ('GENDER', 'M', '남성', 'Y'), ('GENDER', 'F', '여성', 'Y');
INSERT INTO COMMON_CODE (CODE_GROUP, CODE_ID, CODE_NAME, USE_YN)
VALUES ('COUNTRY', 'KOR', '한국', 'Y'), ('COUNTRY', 'USA', '미국', 'Y'), ('COUNTRY', 'JPN', '일본', 'Y');
1-4. 공통 코드를 가져오는 DAO 작성
CommonCodeDAO.java
@Repository
public class CommonCodeDAO {
@Autowired
private SqlSession sqlSession;
public List<Map<String, String>> getCommonCodes(String codeGroup) {
return sqlSession.selectList("commonCodeMapper.selectCommonCodes", codeGroup);
}
}
commonCodeMapper.xml
<mapper namespace="commonCodeMapper">
<select id="selectCommonCodes" parameterType="String" resultType="map">
SELECT CODE_ID, CODE_NAME
FROM COMMON_CODE
WHERE CODE_GROUP = #{codeGroup}
AND USE_YN = 'Y'
</select>
</mapper>
2. 다국어 메시지 처리
전자정부프레임워크는 스프링의 메시지 소스를 활용하여 다국어 메시지를 관리합니다. 메시지 파일은 *.properties 파일로 작성하며, 각 언어별로 별도 관리합니다.
2-1. 메시지 파일 작성
messages_ko.properties (한국어)
welcome.message=환영합니다
logout.message=정상적으로 로그아웃되었습니다.
error.message=오류가 발생했습니다.
messages_en.properties (영어)
welcome.message=Welcome
logout.message=You have been successfully logged out.
error.message=An error has occurred.
2-2. 메시지 소스 등록
applicationContext.xml
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8" />
</bean>
2-3. 메시지 사용
컨트롤러에서 메시지를 호출합니다.
@Controller
public class MessageController {
@Autowired
private MessageSource messageSource;
@RequestMapping("/welcome.do")
public String welcome(Locale locale, Model model) {
String message = messageSource.getMessage("welcome.message", null, locale);
model.addAttribute("message", message);
return "welcome";
}
}
2-4. 화면에서 메시지 출력
welcome.jsp
<p>${message}</p>
3. 다국어 처리 테스트
3-1. 언어 변경 방법
- URL 파라미터로 언어를 설정: http://localhost:8080/welcome.do?lang=ko
- Spring의 LocaleResolver를 활용하여 기본 언어를 설정 가능
3-2. 결과 화면
- 한국어: "환영합니다"
- 영어: "Welcome"
4. 공통 코드와 메시지의 활용 팁
- 코드 중복 방지: 공통 코드를 활용하면 여러 화면에서 동일한 데이터를 사용할 수 있어 코드 중복을 줄일 수 있습니다.
- 효율적인 다국어 관리: 메시지 소스를 통해 텍스트를 한 곳에서 관리하여 언어별 변경이 용이합니다.
- 유지보수 간소화: 데이터베이스와 메시지 파일의 변경만으로 동작을 수정할 수 있습니다.
- 테스트 자동화: 공통 코드와 메시지를 이용해 입력값 검증과 다국어 테스트를 자동화할 수 있습니다.
5. 마무리
이번 시간에는 전자정부프레임워크에서 공통 코드 관리와 다국어 메시지 처리를 학습했습니다. 공통 코드와 메시지 처리는 개발 효율성과 유지보수성을 크게 향상시킵니다. 다음에서는 파일 업로드와 다운로드 구현을 학습합니다.
반응형
'개발 > 전자정부프레임워크' 카테고리의 다른 글
전자정부프레임워크에서 로그 기능 및 예외 처리 구현 (0) | 2024.12.25 |
---|---|
전자정부프레임워크에서 파일 업로드 및 다운로드 구현 (0) | 2024.12.24 |
전자정부프레임워크의 화면 구성 및 템플릿 활용 (0) | 2024.12.24 |
전자정부프레임워크의 로그 기능 구현 (0) | 2024.12.24 |
전자정부프레임워크에서 트랜잭션 처리하기 (0) | 2024.12.24 |