[英]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.