Как использовать сообщения I18N в плагине Grails - PullRequest
0 голосов
/ 02 июля 2011

Я добавил новое исключение для моего плагина:

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 голос
/ 02 июля 2011

(1) Кажется, что это должно быть сделано приложением:

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

(2) Да, если message.properties в приложении имеет тот же ключ, что и плагин, значения приложениябудет использоваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...