JAXB required = true似乎不需要
我们有这个JAXB注释:
@XmlElement(name = "Strategy", required = true) protected List strategy;
如果没有Strategy
元素存在,则不会抛出exception..为什么会这样? 我们不应该得到例外吗?
JAXB参考实现不使用此属性进行validation,它纯粹用于文档目的。
如果需要validation文档,则需要使用SchemaFactory
定义XML Schema,并将其注入Marshaller
或Unmarshaller
。
此外,您可以使用beforeMarshal
和afterUnmarshal
方法validationMarshaller和Unmarshaller中指定的输入。
访问这些方法的方案还允许您向方法声明添加任意throws
子句。 这意味着在实现这些方法时,您可以安全地使用javax.xml.bind.MarshalException
和javax.xml.bind.UnmarshalException
(或您想要的任何类型的Exception
)来发出validation错误信号。