Переход с Jxls на вызов метода Jxls2

Мы переносим проект с Jxls 1.x на Jxls 2.2.8. В нашем текущем шаблоне мы используем Spring MessageSource для локализации заголовков отчета с помощью messageSource.getMessage("message.key", locale). Это работает для версии 1.x, но в версии 2.x не разрешает сообщение.

Это наш текущий шаблон

Разрешение сообщения не удается, когда метод имеет параметры, но когда мы вызываем метод toString() в объекте messageSource, он работает и печатает строку в ячейке.

Код в нашем классе:

public void convertToXLS(final Map<String, Object> p_model, final InputStream p_template, final OutputStream p_file, final Locale p_locale) throws InvalidFormatException, IOException {
    DeviceEventsDownloadWebModel deviceEventsDownloadWebModel = (DeviceEventsDownloadWebModel) p_model.get("deviceEventsDownloadWebModel");

Context context = new Context();
context.putVar("messageSource", getMessageSource());
context.putVar("locale", p_locale);
context.putVar("deviceEvents", deviceEventsDownloadWebModel.getDeviceEvents());

JxlsHelper.getInstance().processTemplate(p_template, p_file, context);
}

Любое предложение для решения проблемы? Мы также пытаемся установить messageSource как функцию, но это не работает.


person Christian    schedule 22.01.2016    source источник


Ответы (1)


Решено! Мы обнаружили проблему. Метод getMessage() из класса MessageSource имеет сигнатуру: ключ String, параметры Object[], локаль Locale, и мы передавали только 2 параметра.

person Christian    schedule 22.01.2016