目录

前端JS接收二维数组列表的解决办法

目录

前端JS接收二维数组(列表)的解决办法

今天使用一个课程表的js工具,需要传一个二维数组的参数,因为要动态生成,所以要从后端接收一个二维数组(列表),但如果不加引号直接用EL表达式获取会报错;EL表达式加上引号则会被解析成一长串字符串,二维数组的结构已被破坏。

https://i-blog.csdnimg.cn/blog_migrate/9b0addfa0d72e03c1bb462d26c11d3a7.png 在这里插入图片描述

https://i-blog.csdnimg.cn/blog_migrate/2013fd1b7a92f54db00045f3fffc34af.png

在这里插入图片描述

https://i-blog.csdnimg.cn/blog_migrate/cfdec3dccc513667bb614ef9d2ce2941.png

https://i-blog.csdnimg.cn/blog_migrate/a9a7fe176a50ec33da8c194ada82f2a5.png

解决办法:

方法一

使用JSON,转化为JSON字符串传给前端

①先导入fastjson依赖(或下载jar包)

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.62</version>
</dependency>

②然后调用JSON的静态方法

https://i-blog.csdnimg.cn/blog_migrate/202dcaaf64376cc961e6320ca0ea94b7.png

https://i-blog.csdnimg.cn/blog_migrate/3f8fb956df543f83a91de2b018b4cf54.png

https://i-blog.csdnimg.cn/blog_migrate/7aba59488051048252d3d25ec6dd98e8.png

https://i-blog.csdnimg.cn/blog_migrate/0ebd25272e9f268988619e22636d24a1.png

可以看到此时打印出来就是JS的二维字符串数组了

方法二(类似于Python的类表解析)

后端直接传递一个二维数组(类表),在前端通过c标签二重遍历,构造一个新的JS二维数组。

https://i-blog.csdnimg.cn/blog_migrate/943378a411ef9718cc1fbe59f8c6f2fe.png

https://i-blog.csdnimg.cn/blog_migrate/d22a7d0fac815ac22b4caf4a42243328.png

https://i-blog.csdnimg.cn/blog_migrate/8468b551229f519424fa2a23cbb4debe.png

注意:内部元素之间加上逗号,才能动态生成数组,否则前端 会报错。

https://i-blog.csdnimg.cn/blog_migrate/493e177818f1842df917564e1aac1cfb.png

此时前端打印结果也与方法一一致,是一个JS的二维数组。