[英]SAXParseException localized
我提供的服務可以使用人類讀取和理解的XML。並使用exception.getMessage()
生成帶有解析器錯誤列表的報告(精確地為SAXParseException
exception.getMessage()
( exception.getLocalizedMessage()
返回相同的結果)。 如何用英語以外的其他語言本地化此異常消息?
我找到了解決方案。 首先需要從Apache Xerces
獲取XMLSchemaMessages.properties
。 我從http://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
。
就這樣。 對該文件的更改將在異常消息中可見。
根據Java文檔 ,您需要擴展SAXParseException
並覆蓋getLocalizedMessage
,默認實現返回與getMessage
相同的結果。
編輯:您可以為每種語言使用單獨的屬性文件,並且在每種語言中可以包含code
和local message
。 當根據locale
和一些code
引發SAXParseException
,將返回適當的message
。
MySAXParseException ex = new MySAXParseException(<code>);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.