我有一个Object Ticket,它有一个与之关联的元素totalNoOfTickets。我在我的休息服务的许多方法中使用此对象Ticket。但是,我只需要一个方法的'totalNoOfTickets'元素而不是其他方法......
例如,在我的一种方法中,我说......
Ticket.setTotalNoOfTickets(7);
我在其他方法中不使用此totalNoOfTickets。因此,我不会在其他方法中设置它。
现在在我的Ticket.java中......我有
public class Ticket
extends ActionType {
@XmlElementWrapper(name = "Tickets")
@XmlElement(name = "Ticket")
protected List<Ticket> tickets;
@XmlElement(name = "TotalNumOfTickets")
protected int totalNumofTickets;
public int getTotalNumofTickets() {
return totalNumofTickets;
}
public void setTotalNumofTickets(int totalNumoftokens) {
this.totalNumofTickets = totalNumoftickets;
}
在方法响应中,我设置totalNumoftickets,响应包含:
<TotalNumOfTickets>7</TotalNumOfTickets>
但是,即使在回复中,我不需要totalNumoftickets,响应包含
<TotalNumOfTickets>0</TotalNumOfTickets>
在Jax-B中有什么方法可以没有
<TotalNumOfTickets>0</TotalNumOfTickets>
在方法的响应中,我没有设置totalNumoftickets?...我可以选择使用该元素
答案 0 :(得分:2)
默认情况下,JAXB (JSR-222)实施不会封送null
值。您可以将totalNumofTickets
字段/属性更改为Integer
,并在不想编组时将值设置为null。
public class Ticket
extends ActionType {
@XmlElementWrapper(name = "Tickets")
@XmlElement(name = "Ticket")
protected List<Ticket> tickets;
@XmlElement(name = "TotalNumOfTickets")
protected Integer totalNumofTickets;
public Integer getTotalNumofTickets() {
return totalNumofTickets;
}
public void setTotalNumofTickets(Integer totalNumoftokens) {
this.totalNumofTickets = totalNumoftickets;
}
}
了解更多信息