我们在编写一些“特殊”字符(例如“ã”)时会遇到一些问题,因此我们正在更改所有代码,以便从这样的message.properties文件中以Unicode格式获取消息:
<h:outputLabel value="#{messages['guia.editar.numeroGuia']}" />
在其包含的消息属性中:
guia.editar.numeroGuia=N\u00FAmero da Guia\
现在这些工作正常,但是我们需要替换所有catch消息以遵循相同的模式。我需要以某种方式将消息导入catch块。任何人都可以帮我吗?
此方法例如:
public List<GuiaAdm> getTodosRegistros() {
try {
return guiaAdmService.findNoPage(getParametrosPesquisa());
} catch (ServiceException e) {
this.messageFacesBean.reportarErro("Não foi possível gerar exportação devido a erro interno na pesquisa.");
}
return null;
}
它应该返回消息:“Nãofoipossívelgerarexportaçãodeidoa erro interno na pesquisa。”然而它又回来了:“N?£foi possi velgerarexportação devido a erro interno na pesquisa。”或者甚至是陌生人角色的东西,这就是为什么我们创建了以unicode格式存储消息的文件。现在我们需要将此消息导入捕获,任何人都可以帮助我吗?
我们已经尝试过更改为unicode或ISO9688以及其他一些但问题并没有消失。
答案 0 :(得分:0)
在挖掘了一点之后,我找到了一个与此相关的主题,这带来了一个很好的解决方案。 链接是: Use message bundle in Java class with Seam
我案例的解决方案是:
this.messageFacesBean.reportarErro(Messages.instance().get("message.name"));