タイトルのようにコントローラー側でJSONに変換するためにobjectで値を送信したいのですが
どうにもうまくいきません。初歩的なことだと思いますが、ご教授ください。
プロジェクトはspringMVCを使用しています。
ソースは以下の通りです。
[home.jsp]
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <html> <head> <title>サンプル</title> </head> <body> <spring:url value="/login" var="url" htmlEscape="true" /> <form:form> <span class="dan">レッスン名</span> <span class= "dan2"><select name="lesson_search1" id="search1"> <option value="0" disabled> </option> <option value="1"> K-WP1 </option> <option value="2"> K-WP2 </option> <option value="3"> K-WP3 </option> </select></span> </form:form> <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script> $(function() { $("#search1").change(function() { var search = [$("#search1").val(),"2","4","6","10"]; $.ajax({ type: "POST", url: "search", data: search, success: function(){ alert("ok"); alert(search); }, error: function() { alert("値はコンソールを参照してください。"); console.log(search); } }); }); } ); </script> </body> </html>
[HomeController.java]
package jp.co.pupa; import java.text.DateFormat; import java.util.Date; import java.util.List; import java.util.Locale; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * Handles requests for the application home page. */ @Controller public class HomeController { //プロジェクト作成時に自動生成された。 private static final Logger logger = LoggerFactory.getLogger(HomeController.class); /** * Simply selects the home view to render by returning its name. */ @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate); return "home"; } @RequestMapping(value = "/search", method = RequestMethod.POST) public List<String> getPost(@RequestBody List<String> search){//ajaxのデータを取ってきたい。 System.out.println(search);//取ってこれたかどうかのコンソール出力。 return search; } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。