1

XMLを解析し、人間が読んで理解できるパーサーエラーのリスト(SAXParseException正確に)を使用してexception.getMessage()(同じものを返す)レポートを作成するサービスがあります。exception.getLocalizedMessage()この例外メッセージを英語以外の言語にローカライズするには?

4

2 に答える 2

4

私は解決策を見つけました。最初に から取得する必要がありXMLSchemaMessages.propertiesますApache Xerceshttp://xerces.apache.org/からダウンロードXerces-J-src.2.11.0.tar.gzし、解凍して次の場所からこのファイルを取得します。...\src\org\apache\xerces\impl\msg

このファイルの名前をXMLSchemaMessages_pl.propertiesに変更するか、必要なローカリゼーションをクラスパスに配置します。私は Maven にプロジェクトを持っているので、このファイルを次の場所に置きますsrc\main\resources\com\sun\org\apache\xerces\internal\impl\msg

それだけです。このファイルへの変更は、例外メッセージに表示されます。

于 2013-12-11T13:59:51.547 に答える
2

Java docに従って、を拡張SAXParseExceptionしてオーバーライドする必要がありますgetLocalizedMessage。デフォルトの実装は と同じものを返しますgetMessage

編集:言語ごとに個別のプロパティファイルを作成でき、それぞれにcodelocal message. を上げると、と someSAXParseExceptionに基づいて、適切な が返されます。localecodemessage

MySAXParseException ex = new MySAXParseException(<code>);
于 2013-09-26T12:07:24.560 に答える