스킬(skills)/스트럿츠 프레임워크(Struts Framework)

스트럿츠(Struts) 에서 한글 사용하기

후바스탱크 2013. 12. 3. 18:45

스트럿츠에서 한글 처리하는 방법 중

스트럿츠에서 제공하는 RequestProcess 객체를 이용한 한글 처리 방법을 소개 하려고 한다.


RequestProcess 객체에서 processPreprocess 메소드를 오버라이딩 하여

다른 작업이 이루어 지기 전 미리 설정 해 두어야 할 사항을 기술 해 놓을 수가 있는데

이를 이용해 한글 처리 작업을 해 놓으면 된다.


다음과 같이 자기만의 클래스 하나를 생성 해 놓는다.

예를들어 filter 패키지에 MyFilter 라는 이름으로 클래스를 생성 해 놓는다.

package filter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.RequestProcessor;

public class MyFilter extends RequestProcessor {

    protected boolean processPreprocess(HttpServletRequest request, HttpServletResponse response) {

        try {
            request.setCharacterEncoding("euc-kr");

            return true;
        } catch (Exception e) {
            return false;
        }
    }
}


이후 이 클래스를 struts-config.xml 에 다음과 같이 등록 하여 주면 ActionForm 을 통하여 넘어오는 데이터를 일일이 한글 처리 해 줄 필요가 없다.

<controller contentType="text/html;charset=euc-kr" locale="true" nocache="true" processorClass="filter.MyFilter" />