반응형

전자정부프레임워크에서 공통 코드를 관리하고 다국어 메시지를 처리하는 방법을 학습합니다. 공통 코드는 코드 중복을 줄이고 일관성을 유지하는 데 사용되며, 다국어 메시지 처리는 글로벌 서비스 개발에 필수적인 기능입니다.


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. 언어 변경 방법

  1. URL 파라미터로 언어를 설정: http://localhost:8080/welcome.do?lang=ko
  2. Spring의 LocaleResolver를 활용하여 기본 언어를 설정 가능

3-2. 결과 화면

  • 한국어: "환영합니다"
  • 영어: "Welcome"

4. 공통 코드와 메시지의 활용 팁

  1. 코드 중복 방지: 공통 코드를 활용하면 여러 화면에서 동일한 데이터를 사용할 수 있어 코드 중복을 줄일 수 있습니다.
  2. 효율적인 다국어 관리: 메시지 소스를 통해 텍스트를 한 곳에서 관리하여 언어별 변경이 용이합니다.
  3. 유지보수 간소화: 데이터베이스와 메시지 파일의 변경만으로 동작을 수정할 수 있습니다.
  4. 테스트 자동화: 공통 코드와 메시지를 이용해 입력값 검증과 다국어 테스트를 자동화할 수 있습니다.

5. 마무리

이번 시간에는 전자정부프레임워크에서 공통 코드 관리와 다국어 메시지 처리를 학습했습니다. 공통 코드와 메시지 처리는 개발 효율성과 유지보수성을 크게 향상시킵니다. 다음에서는 파일 업로드와 다운로드 구현을 학습합니다.

반응형

+ Recent posts