我试图输出一个表bean,其中包含表名,行计数和列列表 . 如果我像属性一样注释它们,它们会显示:所以这个定义:
@XmlRootElement(name = "table")
public class Table {
private String tableName;
private int rowCount;
private List<Column> columnList;
@XmlAttribute(name = "name")
public String getTableName() {
return tableName;
}
@XmlAttribute(name = "rowCount")
public int getRowCount() {
return rowCount;
}
@XmlElement(name = "column")
public List<Column> getColumnList() {
return columnList;
}
}
输出:
<tables>
<table name="GGS_MARKER" rowCount="19190">
<column>
<columnName>MARKER_TEXT</columnName>
<datatype>VARCHAR2</datatype>
<length>4000.0</length>
</column>
...
但如果我用@XmlElement更改@XmlAttribute,它只显示:
<tables>
<table>
<column>
<columnName>MARKER_TEXT</columnName>
<datatype>VARCHAR2</datatype>
<length>4000.0</length>
</column>
...
我应该在课堂上添加“name”和“rowcount”作为元素?
1 回答
您在示例中需要做的就是将
@XmlAttribute
更改为@XmlElement
. 如果在帖子中只有get
方法而不是set
方法,则需要显式添加@XmlElement
注释,因为默认情况下不会应用此用例(默认情况下,所有未映射的属性都假定具有@XmlElement
注释) .Table
Demo
Output