问题描述
我正在使用多语言运行一个相当简单的 JSF web 应用程序。
faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd"
version="2.3">
<application>
<locale-config>
<default-locale>de_DE</default-locale>
<supported-locale>en_US</supported-locale>
<supported-locale>de_DE</supported-locale>
</locale-config>
...
我不断收到错误消息,例如:
20:58:38,570 FATAL [javax.enterprise.resource.webcontainer.jsf.context] (default task-1) JSF1073: javax.faces.convert.ConverterException erfasst während Verarbeitung von RENDER_RESPONSE 6 : UIComponent-ClientId=,Message=team-member-table-form:table:0:j_idt118: Could not convert '1976-03-03' to a string.
20:58:38,571 FATAL [javax.enterprise.resource.webcontainer.jsf.context] (default task-1) team-member-table-form:table:0:j_idt118: Could not convert '1976-03-03' to a string.: javax.faces.convert.ConverterException: team-member-table-form:table:0:j_idt118: Could not convert '1976-03-03' to a string.
at javax.faces.convert.DateTimeConverter.getAsstring(DateTimeConverter.java:551)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:491)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:509)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:330)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:143)
^^ “ConverterException erfasst während Verarbeitung von RENDER_RESPONSE ...”然后“无法转换...” 或
15:10:50,902 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-20) JSF1064: Ressource touch/touchswipe.js aus Bibliothek primefaces kann nicht gefunden oder bedient werden.
15:10:50,903 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-20) : java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen
at sun.nio.ch.socketdispatcher.writev0(Native Method)
at sun.nio.ch.socketdispatcher.writev(Socketdispatcher.java:55)
at sun.nio.ch.IoUtil.write(IoUtil.java:148)
我在 10 年前在 English error messages in JSF 2.0.3 (not validation)?
找到了我自己的问题...但是将 -Duser.language=en
添加到启动器的解决方案不起作用。
是否有人知道如何在 WildFly 上始终获取英语错误消息,因为用德语或任何其他非英语语言在谷歌上搜索它们没有任何意义?
将默认的 JSF 语言环境更改为“en_US”不起作用。
解决方法
您可以更改您的语言环境:
- 例如,您可以在启动服务器的 shell 脚本中导出 LANG="en_US.UTF-8"
- 在 java 启动命令中传递以下参数 -Duser.region=US -Duser.language=en 将它们添加到 JAVA_OPTS