现有一个表(指标表state_index)有indexno,indexname,indexdefined,updatetime等字段,要做一个动态查询功能。
查询页面要求,输入框模糊查询indexname,用checkbox将字段按中文名列出来,用户自选要显示的字段,然后到后台查询出数据,再将用户选择的字段的数据显示出来。因为指标的定义等字段可能字数较多,所以要求,字段名(要求中文)在左,数据在右。这样一条一条的显示出来。这里的难点是要显示的字段是不定的,要怎么迭代的显示出数据?
然后也因为字段不定,如何显示出正确的字段标题?想到的logic:iterator 和c:foreach我都做不出来,实在做不出只有用java脚本了。不知道有没有高人能简单实现这些功能?

解决方案 »

  1.   

    纯用标签处理复杂度较高。你需要返回两个对象:
    1、字段列表,就是所有字段的信息:名称、中文名,比如:List<FieldMeta>;
    2、数据集,可以考虑为:List<Map<String fieldName, String value>>然后动态输出表格:
    1、表头,就是遍历字段列表,输出其中文名;
    2、标题,外循环遍历数据集,内循环遍历字段列表,然后根据字段名称从外循环的数据集中get属性。