2013-02-06 2 views
1

GWT 프로젝트에서 작업하고 있습니다. Hibernate Validator 어노테이션과 setter 검증에서 두 곳의 에러 메시지를 제공한다. 이 메시지들은 동일합니다. 또한 UI 측면에서도 동일 할 수 있습니다.GWT - 서버와 클라이언트에서 사용할 오류 메시지를 통합하십시오.

동일한 문자열을 세 곳의 다른 위치에 쓰는 대신 단일 리소스로 통합하고 프로젝트에 리소스에 액세스 할 수있게하려고합니다.

나는 ResourceBundle을 사용하여 액세스 할 수있는 "공유 된"패키지에서 속성 파일을 사용하려고 생각했습니다. 그러나 그것은 내가 잘 찾지 못하는 엔티티 클래스에서 번들을 인스턴스화해야 함을 의미합니다. 엔티티 클래스는 기본적으로 번들에 종속됩니다. 그러나 나는 다른 방법도 찾을 수 없습니다.

더 좋은 솔루션이 있습니까?

+0

질문 : – SSR

답변

0

순수한 추상 클래스를 사용하여 ResourceBundle을 사용한다는 사실을 "숨길"수 있습니다. 같은 뭔가 : 물론

public abstract class MyAppMessages { 

    private static ResourceBundle messagesBundle = ResourceBundle.getBundle("messages", Locale.FRANCE); 

    private MyAppMessages() { 
     // hide the utility class constructor 
    } 

    public static String getMessage(String key) { 
     return messagesBundle.getString(key); 
    } 
} 

, 그것은 정적 자원에 대한 엔터티 클래스와 번들 액세스하지만 적어도 당신이 사용하는 사이에 싱글 톤 디자인 패턴을 의존도를 제거하지 않고 단 하나의 클래스는 ResourceBundle의 이상 의존 남아있다. ResourceBundle 이외의 다른 것을 사용하고 싶다면 1 클래스 만 리팩터링해야합니다.