0

我已经尝试了一段时间,我必须为复杂的前端应用程序创建视图。这看起来像我能够发送数组列表,如:

在控制器中:

ArrayList<String> cname = new ArrayList<>();
cname.add("akshay");
cname.add("david");

在视图中:

@(cname: List[String])

但是,现在我必须创建这个数组的数组。这可能是其他数据结构,也可能是 List,但现在我必须传递一个数组数组,如下所示:

ArrayList<ArrayList<String>> arr = new ArrayList<>();

那么应该查看什么类型呢?以下不起作用:

@(cname : List[List[String]])

任何对此类数组的教程/指南的参考以供将来参考都会很有帮助。

编辑 :

我需要传递 ArrayList 的 ArrayList。有问题的程序是:

while(rs.next())
        {
            cname = rs.getString("customername");
            cmobile = rs.getString("customermobile");
            amount = rs.getString("billamount");

            namearr.add(cname);
            mobilearr.add(cmobile);
            amountarr.add(amount);

        }
        rowsArray.add(mobilearr);
        rowsArray.add(namearr);
        rowsArray.add(amountarr);

而且我必须将 rowsArray 发送到前面。我知道使用这种查询是对 Play Framework 的滥用,但在这种情况下,我必须尽可能地使用原生。除了 JPA 之外,还有其他方法可以将此类数据发送到前端吗?是否可以使用这些数组创建一个类,然后在我的控制器中创建对象数组并将其发送到视图?

4

2 回答 2

2

您需要完全限定的类名,因为 Scala 有自己的列表类型,它会隐藏 Java 列表或不会自动导入。

利用

@(cname : java.util.List[java.util.List[String]])

为了

List<List<String>> arr = new ArrayList<>();

或者

@(cname : java.util.ArrayList[java.util.ArrayList[String]])

为了

ArrayList<ArrayList<String>> arr = new ArrayList<>();

但是,如果您对数据使用类型(新类),代码可能会更简洁。

于 2013-10-14T18:19:03.580 回答
0

List对 scala 类型的引用:List而不是 java 超类型java.util.List。我从未使用过 Java 版本的 Playframework,但您应该尝试通过 : ArrayList[ArrayList[String]]

于 2013-10-14T07:44:42.633 回答