日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

springmvc 结合ajax批量新增

發布時間:2023/12/10 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springmvc 结合ajax批量新增 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 1. 需要注意的問題
    • 2. 頁面代碼
    • 3. controller定義參數接收

1. 需要注意的問題

  • mvc框架的處理日期問題
  • @ResponseBody響應對象是自定義對象,響應不是json
  • @ResopnseBody響應自定義對象時,日期為是long類型的數
  • 結束數據方法的參數,該如何定義?接收多個對象?

2. 頁面代碼

<%@ page language="java" isELIgnored="false" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ajax批量新增操作</title><script type="text/javascript" src="js/jquery-3.4.1.js"></script></head><body><form id="myForm"><table border="1" ><tr><td>姓名</td><td>身份證</td><td>時間</td><td>direction</td><td>type</td><td>操作</td></tr><tbody id="tbody"><tr><td><!-- 集合為自定義實體類中的結合屬性,有幾個實體類,改變下標就行了。 --><input type="text" name="visitorList[0].name"/></td><td><input type="text" name="visitorList[0].cardNo"/></td><td><input type="date" name="visitorList[0].visitorTime"/></td><td><input type="radio" value="1" name="visitorList[0].direction"/>進入<input type="radio" value="2" name="visitorList[0].direction"/>離開</td> <td><input type="radio" value="1" name="visitorList[0].type"/> 內部<input type="radio" value="2" name="visitorList[0].type"/> 外部</td><td><input class="remove" type="button" value="移除"></td> </tr></tbody><tr><td colspan="6"><input id="add" type="button" value="新增visitor" /><input id="save" type="button" value="保存"/></td></tr></table></form><script>$(function() {var index_val = 0;$("body").on('click', '.remove', function() {// 移除當前行, 通過父級來綁定...// $(this).parent().parent().remove();$("#tbody tr").remove();// 覆蓋,生成行if (index_val > 0) {var data_str = "";for (var i = 0; i < index_val; i++) {data_str += "<tr>" +"<td>" +" <input type='text' name='visitorList[" + i + "].name'/>" +"</td>" + "<td>" + " <input type='text' name='visitorList[" + i + "].cardNo'/>" +"</td>" + "<td>" + " <input type='date' name='visitorList[" + i + "].visitorTime'/>" +"</td>" +"<td>" +" <input type='radio' value='1' name='visitorList[" + i + "].direction'/>進入" +" <input type='radio' value='2' name='visitorList[" + i + "].direction'/>離開" +"</td>" + "<td>" + " <input type='radio' value='1' name='visitorList[" + i + "].type'/> 內部" +" <input type='radio' value='2' name='visitorList[" + i + "].type'/> 外部" +"</td>" +"<td>" +" <input class='remove' type='button' value='移除'>" +"</td>" + "</tr>"; }$("#tbody").append(data_str);}// 把下標減少一 就行了,就是移除了。index_val --;console.log("remove: ", index_val);});$("#add").click(function() {// 自增1index_val ++;var data_str = "<tr>" +"<td>" +" <input type='text' name='visitorList[" + index_val + "].name'/>" +"</td>" + "<td>" + " <input type='text' name='visitorList[" + index_val + "].cardNo'/>" +"</td>" + "<td>" + " <input type='date' name='visitorList[" + index_val + "].visitorTime'/>" +"</td>" +"<td>" +" <input type='radio' value='1' name='visitorList[" + index_val + "].direction'/>進入" +" <input type='radio' value='2' name='visitorList[" + index_val + "].direction'/>離開" +"</td>" + "<td>" + " <input type='radio' value='1' name='visitorList[" + index_val + "].type'/> 內部" +" <input type='radio' value='2' name='visitorList[" + index_val + "].type'/> 外部" +"</td>" +"<td>" +" <input class='remove' type='button' value='移除'>" +"</td>" + "</tr>"; $("#tbody").append(data_str);console.log("add==>" + index_val);});$("#save").click(function() {var form_data = $("#myForm").serialize();// console.log(form_data)$.ajax({url: "visitor/batchAdd",type: "post",data: form_data,success: function(data) {console.log(data);},error: function(e) {console.log(e);}});});});</script></body> </html>

js學得terrible… 能夠移除,我的移除是先移除所有的行,重新生成行,比較之前生成的行,少一行。

3. controller定義參數接收

實體類VisitorInfo

package cn.bitqian.entity;import java.util.Date;import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table;import org.springframework.format.annotation.DateTimeFormat;import com.fasterxml.jackson.annotation.JsonFormat;@Table(name="visit_info") @Entity(name="VisitorInfo") public class VisitorInfo {@Id@GeneratedValue(strategy=GenerationType.AUTO)private Integer id;private String name;@Column(name="card_no")private String cardNo;@Column(name="visitor_time") // datetime@DateTimeFormat(pattern="yyyy-MM-dd") // 頁面提交來的@JsonFormat(pattern="yyyy-MM-dd") // 服務器響應回來的json日期格式private Date visitorTime;private Integer direction; // 1進入 2 離開private Integer type; // 1. 內部 2. 外部public VisitorInfo() {}public VisitorInfo(Integer id, String name, String cardNo, Date visitorTime, Integer direction, Integer type) {super();this.id = id;this.name = name;this.cardNo = cardNo;this.visitorTime = visitorTime;this.direction = direction;this.type = type;}// setter/getter 省略}

批量新增實體類BatchVisitor ,定義集合接收多個對象

package cn.bitqian.entity;import java.util.ArrayList; import java.util.List;/*** 批量新增 visitorInfo* @author echo lovely**/ public class BatchVisitor {private List<VisitorInfo> visitorList = new ArrayList<>();public List<VisitorInfo> getVisitorList() {return visitorList;}public void setVisitorList(List<VisitorInfo> visitorList) {this.visitorList = visitorList;}public BatchVisitor() {}}

controller方法,放實體類,實體類里面套VisitorInfo的集合

@RequestMapping(value="/batchAdd", method=RequestMethod.POST)@ResponseBodypublic VisitorInfo batchAddVisitor(BatchVisitor batchVisitor) {List<VisitorInfo> visitorList = batchVisitor.getVisitorList();// System.out.println(batchVisitor);for (VisitorInfo visitorInfo : visitorList) {System.out.println(visitorInfo);visitorInfoService.save(visitorInfo);}return new VisitorInfo(1, "dd", "bb", new Date(), 1, 2);}

對于上面響應了對象到頁面,會報錯,需要導入json的依賴。

<!-- json 用于響應 responseBody --><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.6</version></dependency>

接收頁面的參數,需要字符串轉型為日期,需要
mvc自定義日期轉換器
或者加上注解,mvc會將字符串轉換為對應格式的日期

響應對象有日期時,解決:

總結

以上是生活随笔為你收集整理的springmvc 结合ajax批量新增的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。