javascript - 如何将多维数组从 Java 请求变量复制到 JSP 页面中的 Javascript 变量?

标签 javascript arrays jsp multidimensional-array

我需要获取多维数组的内容,将其作为保存在请求变量中的字符串 [][] 传入,并将其内容放入 Javascript 变量中。

“String [][] dataArray”变量包含我期望的值。示例:

dataArray[0][0] = "Joe"

dataArray[0][1] = "Smith"

dataArray[0][2] = "901-555-1212"

dataArray[1][0] = "Jane"

dataArray[1][1] = "Smith"

dataArray[1][2] = "901-555-9999"

这行不通:

Java

request.setAttribute("passedInArray", dataArray);

Javascript (inside JSP page)

var jsArray = <%= request.getAttribute("passedInArray");%>

如何将 passedInArray 的内容放入 jsArray 中?提前致谢!

最佳答案

如果您需要使用 String[][],则需要在服务器端遍历 passedInArray 中的行。

var dataArray = new Array();

<c:forEach var="row" items="${passedInArray}">
    dataArray.push(['${row[0]}', '${row[1]}', '${row[2]}']);
</c:forEach>

另一种方法是将数组序列化为 JSON 字符串。有很好的 Java 库,例如 JacksonGson可用于该工作。基本上,他们将完成与您像这样编写代码一样的工作:

    StringBuffer sb = new StringBuffer("[");
    for (int i = 0; i < dataArray.length; i++) {
        sb.append("[");
        for (int j = 0; j < dataArray[i].length; j++) {
            sb.append("'" + dataArray[i][j] + "'");
            if (j < dataArray[i].length-1)
                sb.append(',');
        }
        sb.append("]");
        if (i < dataArray.length-1)
            sb.append(',');
    }       
    sb.append("]");
    request.setAttribute("passedInArray", sb.toString());

然后在您的 jsp 中,您只需将其声明为 javascript 变量并使用它:

    var dataArray = ${passedInArray};
    console.log(dataArray.length);
    console.log(dataArray[0].length);

无论你怎么做,你都需要在服务器端做一些工作,将你的java数组转换成javascript可以直接使用的字符串。

关于javascript - 如何将多维数组从 Java 请求变量复制到 JSP 页面中的 Javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036522/

相关文章:

javascript - Angularjs:如何使用 $scope 中的数据填充第二个位置的二维数组

java - 如何有条件地在 JSP 页面中显示一个 div 的内容而不是另一个 div 的内容?

javascript - 如何使用构造函数中创建的方法来更新同一构造函数中的另一个变量?

javascript - 仅 'a' 元素上的 html 基本元素

ios - 从解析列获取数组到 UITableView

ruby-on-rails - Rails 如何按特定顺序对数据库中的记录进行排序?

java - 如何使用java将数据插入包含mediumtext数据类型的mysql数据库表

java - 如何将输出格式化为正确的 json 格式?

javascript - 单选按钮点击事件

php - 如何确保为我的动态内容生成唯一的 JavaScript 推文按钮