2

我们在编码一些“特殊”字符(如“ã”)时遇到了一些问题,因此我们正在更改所有代码以从 message.properties 文件中获取 Unicode 格式的消息,如下所示:

<h:outputLabel value="#{messages['guia.editar.numeroGuia']}" />

在它包含的消息属性中:

guia.editar.numeroGuia=N\u00FAmero da Guia\ 

现在这些工作正常,但是我们需要替换所有捕获消息以遵循相同的模式。我需要以某种方式将消息导入到 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ão foi possível gerar exportação devido a erro interno na pesquisa。” 但是它返回:“Não foi possà-vel gerar exportação devido a erro interno na pesquisa。” 或者具有更奇怪字符的东西,这就是我们创建文件以 unicode 格式存储消息的原因。现在我们需要将此消息导入到catch中,有人可以帮我吗?

我们已经尝试更改为 unicode 或 ISO9688 和其他一些,但问题并没有消失。

4

1 回答 1

0

在挖掘了一点之后,我发现了一个与此相关的主题,它带来了一个很好的解决方案。链接是: 在 Java 类中使用带有 Seam 的消息包

我的情况的解决方案是:

this.messageFacesBean.reportarErro(Messages.instance().get("message.name"));
于 2013-06-28T20:48:39.223 回答