【发布时间】:2012-10-03 08:49:52
【问题描述】:
我正在使用 JAXB 使用 Maven 中的 JAXB 插件从 XSD 生成 bean。 这工作正常,希望代码包含每个字段的 isSetXXXXXX() 方法。
例如
对于字段 firstName,它会生成以下代码:
@XmlElement(name = "FirstName", required = true)
protected String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.token = firstName;
}
public boolean isSetFirstName() {
return (this.firstName!= null);
}
这个 isSetFirstName() 方法会导致问题,我不希望 JAXB 生成这些问题。
有没有办法阻止这种行为?
谢谢。
更新
已解决:问题出在 xjb 文件中,generateIsSetMethod 设置为 true。
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
bindingStyle="modelGroupBinding"
choiceContentProperty="true" >
<xjc:serializable uid="12343"/>
<jaxb:javaType name="short"
xmlType="xs:long"
printMethod="javax.xml.bind.DatatypeConverter.printShort"
parseMethod="javax.xml.bind.DatatypeConverter.parseShort"/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
这也回答了我的previous question。
【问题讨论】:
-
嘿,阿迪,您更新的 XML sn-p 不是有效的 XML,
generateIsSetMethod="true"之后的 > 是否应该在那里?