Spring 4MVC在控制層傳回JSON字串
阿新 • • 發佈:2019-01-26
直接上程式碼:
控制層:
package package1; import java.util.ArrayList; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; /** * 控制層以response響應的方式返回JSON物件 * @author acer * 控制層通過consumes="application/json"限制前臺傳遞過來的資料必須是json格式的資料 * 通過produces="application/json"設定返回的userinfo中的資料轉換成json物件並回傳給客戶端 * @ResponseBody指的是將json字串作為響應處理 */ @Controller public class CreateJSON { @RequestMapping(value="createJSONURL",method=RequestMethod.POST,consumes="application/json", produces="application/json") @ResponseBody public Userinfo createJSON(){ Userinfo userinfo = new Userinfo(); userinfo.setUsername("歐陽川"); userinfo.setPassword("ouyangchuan"); userinfo.setStudyList(new ArrayList<String>()); userinfo.getStudyList().add("Java"); userinfo.getStudyList().add("c語言"); return userinfo; } }
顯示層:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="json2.js"></script> </head> <body> <script type="text/javascript"> function userinfo(username,password) { this.username = username; this.password = password; } function sendAjax(){ var userinfoRef = new userinfo("張三",'asjfdia'); var jsonStringRef = JSON.stringify(userinfoRef); $.ajax({ type:"POST", data:jsonStringRef, url:"createJSONURL.spring", contentType:"application/json", dataType:"json", success:function(data,type) { alert(data.username+" "+data.password); var aihao = data.studyList; for(var i=0;i<aihao.length;i++){ alert(aihao[i]); } } }); } </script> <input type="button" onclick="sendAjax()" value="tijiao"/> </body> </html>