jsp js 将表格中的数据传到servlet中
时间: 2024-01-09 21:05:07 浏览: 205
你使用 JavaScript 来获取表格数据,并将其传递到 Servlet 中。以下是一个示例:
1. 在 HTML 页面中添加一个表格和一个按钮,以便用户可以点击该按钮来触发表单提交:
```html
<table id="myTable">
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>John</td>
<td>25</td>
</tr>
<tr>
<td>Jane</td>
<td>30</td>
</tr>
</table>
<button onclick="submitForm()">Submit</button>
```
2. 在 JavaScript 中编写一个名为 `submitForm()` 的函数,该函数将从表格中获取数据并将其作为表单数据提交到 Servlet:
```javascript
function submitForm() {
// 获取表格元素
var table = document.getElementById("myTable");
// 创建空数组以保存表格数据
var data = [];
// 获取表头行,并将表头列名添加到数据数组中
var headers = [];
for (var i = 0; i < table.rows[0].cells.length; i++) {
headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase();
}
data.push(headers);
// 获取数据行,并将每行数据添加到数据数组中
for (var i = 1; i < table.rows.length; i++) {
var row = table.rows[i];
var rowData = [];
for (var j = 0; j < row.cells.length; j++) {
rowData[j] = row.cells[j].innerHTML;
}
data.push(rowData);
}
// 将数据数组转换为表单数据格式
var formData = new FormData();
formData.append("data", JSON.stringify(data));
// 创建 XMLHttpRequest 对象并发送表单数据到 Servlet
var xhr = new XMLHttpRequest();
xhr.open("POST", "yourServletUrl", true);
xhr.send(formData);
}
```
3. 在 Servlet 中读取表单数据并对其进行处理:
```java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 读取表单数据
String jsonData = request.getParameter("data");
JSONArray jsonArray = new JSONArray(jsonData);
// 处理表单数据
for (int i = 1; i < jsonArray.length(); i++) {
JSONArray rowData = jsonArray.getJSONArray(i);
String name = rowData.getString(0);
int age = rowData.getInt(1);
// do something with name and age...
}
// 返回响应
response.setContentType("text/plain");
response.getWriter().write("Data received!");
}
```
以上示例中,我们使用了 JavaScript 的 DOM 操作来获取表格数据,并使用了 XMLHttpRequest 对象将数据提交到 Servlet。在 Servlet 中,我们使用了 JSON 库来解析表单数据,并对其进行处理。
阅读全文