java - 在jsp中将列表打印为表格

标签 java javascript html jsp jakarta-ee

我有一个这样的列表:

[[A,0,1],[A,0,0],[B,0,1],[C,1,1],[C,0,1]]

我想像这样在 html 中打印它:

-------------
| A | 0 | 1 |
-   -   -----
|   |   | 0 |
-------------
| B | 0 | 1 |
-------------
| C | 1 | 1 |
-   ---------
|   | 0 | 1 |
-------------

有没有一种方法可以在 javascript 中做到这一点,或者有没有一种简单的方法可以在 jsp 中做到这一点?

最佳答案

Javascript:

来源:

var arr = [['A',0,1],['A',0,0],['B',0,1],['C',1,1],['C',0,1]];

计算每个单元格的合并深度:

var depth = arr.map(function(item){
    return item.map(function(){
        return 0;
    });
});

var arrLength = arr.length;
for(var index=0;index<arrLength;index++){

    var subArr = arr[index];
    var subLength = subArr.length;
    var tIndex;
    var maxtIndex = arrLength;

    if(index < arrLength -1) {       
        for(var i=0;i<subLength;i++){
            tIndex = index + 1;
            while(depth[index][i] != -1 && tIndex<maxtIndex){
                if(subArr[i] == arr[tIndex][i]){
                    depth[index][i] = depth[index][i]+1;
                    depth[tIndex][i] = -1;
                } else {
                    break;
                }
                tIndex++;
                maxtIndex = tIndex;
            }

            if(depth[index][i] == 0){
                break;
            }
        }       
    }
}

结果表:

var tableHtml = '<table>' + arr.map(function(subArr, index){
    var str = '<tr>';
        for(var i=0;i<subArr.length;i++){
            var iDepth = depth[index][i];
            if(iDepth !== -1) {
                str += '<td' + (iDepth > 0?' rowspan="'
                             + (iDepth + 1)+'"':'') + '>'
                             +subArr[i]
                     + '</td>';
            }
        }       
    return str+'</tr>';
}).join(' ') + '</table>';

演示:JSFiddle

关于java - 在jsp中将列表打印为表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953856/

相关文章:

java - 在 Java 流中读取 HDF5

java - 如何使用play框架访问phpmyadmin数据库

javascript - 基于http get的Angularjs过滤器

javascript - 使用 Enter 键提交普通脚本表单

java - 如何计算RESTful Web服务的响应时间

java - JSF 2 - f :selectItems with a Date keyed Map

javascript - Selectize.js 和 jQuery 验证

javascript - 尝试了解 jwt 身份验证流程

javascript - 使用 jquery 按钮重置 tr 输入字段

javascript - 使用 JavaScript 和 anchor 标记将 IMG 标记插入到 DOM 中