我想用强调名称序列化我的字段。例如:userName
- > user_name
。
我知道可以使用@XmlElement(name = "user_name")
注释完成,但对我的情况来说并不是很方便。
有没有办法为JAXB设置默认命名策略?
答案 0 :(得分:3)
注意:我是EclipseLink JAXB(MOXy)负责人,也是JAXB(JSR-222)专家组的成员。
MOXy有XMLNameTransformer
扩展名,可让您覆盖元素,属性和类型的默认命名策略。
如果您是从XML架构生成模型,则可以使用外部绑定文件来保留下划线。
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
version="2.1">
<jxb:globalBindings underscoreBinding="asCharInWord"/>
</jxb:bindings>