java - 如何将 JAVA 对象转换为 HTML 表格?
问题描述
我想要一种将 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 |
---------------------------
解决方案
您可以使用反射来做到这一点。您可以为此使用 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
}
推荐阅读
- c# - C# LINQ,带有 JOIN 和 GroupBy 的脚本抛出异常
- azure - 绕过 PIM 的服务帐户
- flutter - ListTile 子标题 renderflex 溢出
- python - 如何使用 Python 提取推文文本中的链接
- java - 如何处理硒中的 NoSuchElementException?
- python - 如何通过在python中调用文件中的函数名来打印文件名
- c++ - Box在gtkmm上包含文件未知问题
- puppeteer - 当我让 puppeteer 在输入电子邮件和密码后单击登录按钮时,为什么我没有重定向(模式只是消失)?
- javascript - 如何将“toHaveBeenCalledAfter”与多次调用的函数一起使用?
- windows - 使用powershell将文件排序到目录中