2016-01-22 30 views
0

我们正在将项目从Jxls 1.x迁移到Jxls 2.2.8。在我们当前的模板中,我们使用Spring MessageSource来使用messageSource.getMessage(“message.key”,locale)本地化报表的标题。它适用于1.x版本,但在2.x版本中不能解析消息。从Jxls迁移到Jxls2方法调用

This is our current template

消息分辨率时,该方法有参数,但是当我们调用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); 
} 

任何sugestion来解决这个问题?我们也尝试将messageSource设置为一个函数,但它不起作用。

回答

0

解决!我们发现了这个问题。 MessageSource类中的getMessage()方法具有签名:String key,Object []参数,Locale locale,并且我们只传递2个参数。

相关问题