将json数据集合表格显示
本文讲述的是将后台获取到的json数据集合用表格的方式呈现到前端
第一次的时候,根据网上的教程,使用了js方法,对json集合进行遍历后输出,发现其较为复杂,且输出的时候因为要在js里加入html语句,导致了一些问题。(由于表格语句是在js遍历的时候用“innerHTML”输出的,后来需要在表格中添加一些如按钮等其他元素,而使用“innerHTML”语句本身就包含了引号,而html语句也需要引号,从而导致了许多不必要的麻烦)为了减少这些麻烦,后再便采用了EL表达式的 foreach循环输出,EL表达式可以直接在html语句中使用,既方便又快捷。下面上代码
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: hasee
Date: 2017/8/16
Time: 14:47
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table>
<tr>
<th>id</th>
<th>sql_name</th>
<th>sql_detail</th>
<th>description</th>
<th>删除</th>
<th>修改</th>
</tr>
<c:forEach items="${data}" var="one" varStatus="num" >
<tr>
<td>${one.id}</td>
<td>${one.sqlName}</td>
<td>${one.sqlDetail}</td>
<td>${one.description}</td>
<%--<td><button type="button" class="del" onclick="del(${one.id})" href="/form/formsql/delete/data=">删除</button> </td>--%>
<td>
<form class="del" action="/lab/form/formsql/delete" method="post">
<input type="hidden" name="id" value="${one.id}">
<input type="submit" value="删除">
</form>
</td>
<td>
<form class="updated" action="/lab/form/formsql/updated" method="post">
<input type="hidden" name="id" value="${one.id}">
<input type="text" name="up">
<input type="submit" value="更新">
</form>
</td>
</tr>
</c:forEach>
</table>
<form id="insert" action="/lab/form/formsql/insert" method="post">
name:<input type="text" name="sqlname">
sql_name:<input type="text" name="detail">
description:<input type="text" name="desc">
<input type="submit" value="新增">
</form>
</body>
</html>
可以明显看出,使用foreach后的代码十分简洁,且实用
<c:forEach items="${data}" var="one" varStatus="num" >
<tr>
<td>${one.id}</td>
<td>${one.sqlName}</td>
<td>${one.sqlDetail}</td>
<td>${one.description}</td>
</c:forEach>
将后台拿到的数据“data”类似与java中foreach一样使用,不过改变了形式而已。
<td>
<form class="del" action="/lab/form/formsql/delete" method="post">
<input type="hidden" name="id" value="${one.id}">
<input type="submit" value="删除">
</form>
</td>
后面增加的“删除”按钮,采用的是post方法传给后台,因为点击按钮的同时需要传递一些数据,在此采用的是隐藏框赋予其值
接着后面的“更新”与“新增”按钮也都类似,只不过整个项目的数据均用json数组进行传输,因此输入的内容在此也是json数组,思路也都一样,一个按钮,一个隐藏框获取对应id(后台比对数据库),一个输入框(json语句,获取所需信息)
本文到此结束,纯属入门级新手经验,如有错误请指出,不胜感激,有兴趣亦可相互交流,谢谢!