2011-07-01 2 views
0

Grails의 플러그인에서 국제화 메시지 사용 방법 :내 플러그인에 새로운 예외를 추가 한

class UnzipException extends RuntimeException { 
    String message 
    String defaultMessage 
    String fileName 
} 

. . . 

     else { 
      throw new UnzipException(
       message:"grailsant.unzipexception.badfile", 
       defaultMessage: "Invalid zip file: ${zipFile}", 
       fileName: zipFile) 
     } 
... 

그리고 플러그인의 messages.properties에 내가 가진를 :

grailsant.unzipexception.badfile=Invalid zip file: {0} 
두 질문

:

  1. 어떻게 {0}이 (가) fileName으로 채워지나요?

  2. 응용 프로그램이 grailsant.unzipexception.badfile 메시지를 무시할 수 있습니까?

답변

1

(1)이 응용 프로그램에 의해 수행되어야하는 것 같다 :

try { 
    . . . 
} catch (org.grails.plugins.grailsant.UnzipException e) { 
    flash.message = e.message 
    flash.args = [e.fileName] 
    flash.defaultMessage = e.defaultMessage 
} 

(2) 네, 응용 프로그램의 message.properties는 플러그인과 같은 키가있는 경우 앱의 값이 사용됩니다.

관련 문제