jQueryでlistの中に入っているmapをkeyごとに取り出し、JSPに表示させたいです。
できればtext()で表示したいです。
ご回答お願いします。
<%@ page language="java" contentType="text/html; charset=UTF-8"```ここに言語を入力
<%@ pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="f" uri="http://www.springframework.org/tags/form"%>
<%@ page session="false" %>
<div class="centering"> <table class="tb_day_lesson_edit_record" style="display: none;"><div class="centering"> <p>原宿校 KWP1 2016/7/13 15:00~16:00</p> </div> <div class="centering"> <table class="tb_day_lesson_edit_search"> <tr> <td>教室</td> <td> <select name="lesson_search1"> <option value="教室名1" disabled> レッスン名を選択してください </option> <option value="教室名2">原宿校</option> <option value="教室名3">妙典校</option> <option value="教室名4">下北沢校</option> </select> <tr> <td>レッスン名 <td> <select name="lesson_search2"> <option value="0" disabled> レッスン名を選択してください </option> <option value="1">KWP1</option> <option value="2">KWP2</option> <option value="3">KWP3</option> </select> <tr> <td>レッスン日 <td> <input size="5" type="text" name="jikan" id="date"> <tr> <td>時間 <td> <input size="5" type="text" name="jikan" value="16:00">~ <input size="5" type="text" name="fun" value="17:00"> </td> </tr> </table> </div>
<%-- <c:forEach var="obj" items="${data}" begin="1" > <tr>このような形式でkeyをとってlistの中の値を表示したい。 <td><c:out value="${obj.value}"/></td> <td> <input type="radio" name="example" value="サンプル">出 <input type="radio" name="example" value="サンプル">欠 </td> </tr> </c:forEach> --%> </table> </div>
</f:form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script> $(function() { $('[name=lesson_search2]').change(function() { $.ajax({ type : "GET", url : "user", // リクエストURL data : "lesson=" + $('[name=lesson_search2]').val(), datatype: "json", success: function(data){ //通信に成功したときに表示されるアラートです $(".tb_day_lesson_edit_record").show(); }, error: function(data){ console.log(data); alert("値はコンソール参照"); } }); }); }); </script> </body> </html><DAO><controller> ```ここに言語を入力 package jp.co.xmdd; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.google.gson.Gson; import dao.Dao; /** * Handles requests for the application home page. */ @Controller public class HomeController { @Autowired private Dao Dao; @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { return "home"; } @ResponseBody//こちらを使っています。 @RequestMapping(value = "/user",produces="text/html;charset=UTF-8", method = RequestMethod.GET ) public String UserreturnGET(String lesson){ //非同期で値を受け取ってきている。 System.out.println(lesson); int i = Integer.parseInt(lesson); List<Map<String,Object>> ke = Dao.getUser(i); //mapをlistの中に入れてデータベースからDAOで取ってきている。 Gson gson = new Gson();//Jsonに変換するためのクラスのインスタンスを生成。 System.out.println(gson.toJson(ke)); return gson.toJson(ke);//Jsonに変換。 } // @ResponseBody // @RequestMapping(value = "/user",produces="text/plain;charset=UTF-8", method = RequestMethod.POST) // public String UserreturnPOST(String lesson){ // // int i = Integer.parseInt(lesson); // List<Map<String,Object>> ke =Dao.getUser(i); // System.out.println(ke); // Gson gson = new Gson(); // System.out.println(gson.toJson(ke)); // return gson.toJson(ke); // // } }
package dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import form.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Repository; @Repository public class Dao { @Autowired private JdbcTemplate jdbcTemplate; public List<Map<String,Object>> getUser(int i) { List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from jukousei where lesson_id= ?", i); List<Map<String,Object>> tes = new ArrayList<Map<String,Object>>(); for(Map<String,Object> result:list){ Map<String,Object> us = new HashMap<>(); us.put("id", (long)result.get("jukou_id")) ; us.put("name",(String)result.get("jukou_name")) ; us.put("flag",(boolean)result.get("syusseki_flag")) ; tes.add(us); } return tes; } }
選択したボタンによって受け取ってくるデータは変わりますが、2を選択して、Jsonに変換した
データは以下になります。
[{"flag":true,"name":"博","id":2},{"flag":false,"name":"倉田","id":4}]
上記以外にもう一つ列名にIDが存在していて、それをもとに検索をかけています。
回答2件
あなたの回答
tips
プレビュー