前提・実現したいこと
jQueryで動的にtableを作成して、そのtableの値をSpringBootのcontrollerで取得したいのですが、
うまく取得できません。
取得したい値はbaseSalaryです。
2日悩みましたが、どうしてもcontrollerで取得しようとすると値がnullになってしまいます。
ご教授頂ければと思います。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja" xmlns:th="http://www.thymeleaf.org" 3 xmlns:sec="http://www.thymeleaf.org/extras/spring-security4"> 4<head> 5<meta charset="UTF-8"> 6<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 7<script src="/js/sampleJs.js" th:src="@{/js/baseSalary.js}"></script> 8</head> 9<body> 10<h1>ページ</h1> 11 <form method="post"> 12 <select id="getMonthsSelect" name="getMonthsSelect" onChange="monthsSelect(this)"> 13 <option th:each="item : ${getMonthsSelect}" 14 th:value="${item.key}" 15 th:text="${item.value}">singleSelect</option> 16 </select><br> 17 </form> 18 <form method="post" th:action="@{/baseSalaryUpd}"> 19 <table id="t1"></table> 20 <p><input type="submit" value="更新"></p> 21 </form> 22</body> 23</html>
javascript
1function monthsSelect(obj){ 2 var objVar = obj.value; 3 $.ajax({ 4 "type" : "GET", 5 "url" : "baseSalaryMonth", 6 "data" : {baseSalaryMonthStr: objVar}, 7 "dataType" : "json", 8 }).then( 9 function (data) { 10 $('#t1').html(''); 11 $('#t1').append($('<thead>')).append($('<tbody>')); 12 $('<tr>') 13 .append($('<th>').attr('id','userId').text('aa')) 14 .append($('<th>').attr('id','fullNm').text('bb')) 15 .append($('<th>').attr('id','baseSalary').text('cc')) 16 .appendTo($('#t1 thead')); 17 data.forEach(function(x){ 18 $('<tr>') 19 .append($('<td>').text(x.userId)) 20 .append($('<td>').text(x.fullNm)) 21 .append($('<td>').append($('<input type="text" name = "baseSalary">').val(x.baseSalary))) 22 .appendTo($('#t1 tbody')); 23 }); 24 }, 25 function () { 26 //通信失敗 27 alert("読み込み失敗"); 28}); 29};
java
1 @RequestMapping(value = "/baseSalaryUpd" , method = RequestMethod.POST) 2 public ModelAndView baseSalaryUpd(@Valid @ModelAttribute BaseSalary baseSalary, BindingResult bindingResult, ModelAndView mav, Principal principal){ 3 System.out.println(baseSalary); 4 return null; 5 }
java
1package com.kproject01.entity; 2 3 4public class BaseSalary { 5 6 private int userId; 7 private String fullNm; 8 private int baseSalary; 9 private int yearDay; 10 11 public int getUserId() { 12 return userId; 13 } 14 public void setUserId(int userId) { 15 this.userId = userId; 16 } 17 public String getFullNm() { 18 return fullNm; 19 } 20 public void setFullNm(String fullNm) { 21 this.fullNm = fullNm; 22 } 23 public int getBaseSalary() { 24 return baseSalary; 25 } 26 public void setBaseSalary(int baseSalary) { 27 this.baseSalary = baseSalary; 28 } 29 public int getYearDay() { 30 return yearDay; 31 } 32 public void setYearDay(int yearDay) { 33 this.yearDay = yearDay; 34 } 35} 36
とりあえずSystem.out.println(baseSalary);に値が入ればと思います。
補足情報(FW/ツールのバージョンなど)
java8
SpringBoot2.0
jquery1.9.1
回答3件
あなたの回答
tips
プレビュー