在工作中,我们必须为我们的客户生成一份报告,该报告在一周内多次更改其参数。此报告是从我们数据库中的单个表生成的。例如,假设一个表有 100 列,我今天必须生成一个只有 5 列的报告,但明天我必须生成其中的 95 列。考虑到这一点,我创建了一个包含指定表的所有列的 TO 类,并且我的查询返回所有列 (SELECT * FROM TABLE)。
我要创建的是一个动态表单来生成报告。我首先想到的是创建一个简单的框架,其中包含列为复选框的列列表,用户将选择他想要的列(当然有一个按钮来全选,另一个按钮取消全选)。
由于所有列的名称都与 TO 类的属性相同,因此我开发了以下代码(我有谷歌这个):
Class c = Test.class;
for(int i = 0; i < listOfAttributes.length; i++)
{
auxText += String.valueOf( c.getMethod( "get" + listOfAttributes[i]).invoke( this, null ) );
}
这是做我需要做的更好的方法吗?
提前致谢。
观察:TO 类的 getter 具有模式“getAttribute_Name”。
注意:这个问题与用户询问如何调用某个给定名称的方法的问题不同。我知道该怎么做。我要问的是,这是否是解决我描述的问题的更好方法。