如何将JAVA对象转换为HTML表?

时间:2019-01-28 10:56:08

标签: java html serialization

我想要一种将Java对象转换为HTML表的通用方法,该表包含该对象的成员变量作为列名,并包含该成员的值作为表中的值,如下所示:

class Person {

    public String _name;
    public int _age;

    public Person(){
        this._name = "John Doe";
        this._age = 2;
    }
};

如果我类型为person的对象,我希望输出是这样的。

---------------------------
|    _name   | _age        |
---------------------------

|    John Doe | 2          |
---------------------------

问题是我无法访问课程代码。

是否存在一种通用的方法来实现可以接受任何类型的Java对象并打印成员变量及其值的函数?

我曾考虑过使用toString(),但这没有帮助,因为我无法覆盖它。

如果这是课程

class Person {

    public String _name;
    public int _age;

    public Person(){
        this._name = "John Doe";
        this._age = 2;
    }
};

然后应该是PrintobjectToHTML();的输出

---------------------------
|    _name   | _age        |
---------------------------
|    John Doe |    2       |
---------------------------

1 个答案:

答案 0 :(得分:1)

您可以使用反射来实现。您可以为此使用Class类(请参见-> https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)。

示例:

Person p = new Person();
Class cls = p.getClass();
Field[] fields = cls.getDeclaredFields();
// loop through fields
for (Field field: fields) {
  Object value = field.get(p);
  // print value as html
}