考虑到JAXB注释的对象,是否有办法确定类/字段/方法在封送过程中是否会导致xsi: type?
是XmlElement注释,annotation.type!=javax.xml.bind.annotation.XmlElement.
我唯一需要担心的情况?
我正在编写一个Lua解组器,在这里我们删除了很多常见的xml类型信息,我正在尝试找出如何将传入的Lua与JAXB匹配。
谢谢
--更新--
下面是一个简单的示例,说明了问题:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement()
@XmlSeeAlso({ Cat.class, Dog.class })
public class Animal {
@XmlElement()
public List<Animal> critters;
@XmlAttribute
public String type;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement()
public class Dog extends Animal {
public Dog() {
this.type = "German Shepherd";
}
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement()
public class Cat extends Animal {
public Cat() {
this.type = "Black";
}
}
当我收到一个动物对象时,我可以查询动物的注释来检测它应该是狗或猫而不是动物吗?
在一些情况下,JAXB(JSR-222)实现将写出xsi: type属性。
Object
(或用@xmlement(type=Object.class)
注释)且未映射为@xmlanyement(lax=true)
,并且包含JAXBContext
具有映射的对象实例
xsi:type
属性来表示子类(请参阅:http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html)问题内容: 我有一个要求,根据字段上标记的自定义注释来编组/解组java pojo的某些元素。假设我的Java pojp中有3个字段 如果我在jaxb中进行转换时传递version =“ v1”参数,我只想编组具有v1的字段。如果我通过v2,则所有带v2注释的字段都应编组。 甚至可以使用jaxb吗?我确信选择性的编组将通过某种图书馆或某种方式得到支持,经过大量的搜索后仍无法弄清楚。任何帮助或建议或
我有一个模型,其中有一个@列(nullable=false)注释HiberNate和所有字段有nullable=false,我想以编程方式添加一些新的注释,如@NotNull和@ApiModelProperty(必需=true)-用于招摇过市。 所以,我希望能够从我的应用程序的模型中解析所有字段,获得现有的注释,并在此基础上添加新的注释。这能做到吗? 更新:问题是每次添加一个新字段,如果它不能为空
问题内容: 说我有两个JavaBeans 和。 如果创建一个Person对象的列表,我想编组成这样的东西: 可以使用这里描述的技术: 使用JAXB解组/编组List 通过使用和注释JaxbList,可以将其编组为上述XML。 但是,能够重用相同的类来封送对象列表也很好。实际上,我将有许多其他类型的bean。我可以这样: 但是,理想情况下,最好用类名的复数形式替换“列表”,用类名替换“ item”。
你能用这个网站做个例子吗?我想忽略有评论的帖子,只点击没有评论的帖子。 我试过了,但有一个错误。 我想点击一个还没有任何评论的帖子。我想跳过有评论的帖子。我还是个初学者。救救我。
我有两个类:Person和PersonAdapter。Person是从wsdl生成的,不能更改。 PersonAdapter是Person的对象适配器,具有一些附加属性。类的对象提供给我的服务的客户端。我将所有JPA和JAXB注释添加到PersonAdapter类,因为我无法更改Person类。 有没有可能解决这个问题?
我正在尝试使用spring Boot运行一个web应用程序。 将密码映射为硬编码值。 我的问题是:当应用程序运行并且在主类上使用注释时,只要它命中URL就会发生以下异常: javax.servlet.ServletException:在org.springframework.web.servlet.dispatcherservlet.render(dispatcherservlet.java:13