一、前言
最近在寫我們實驗室網站內部交流平台,後台架構用的Spring + SpringMVC + Mabatis(資料庫架構)整合架構,作為後台人員,與資料庫互動、處理商務邏輯已經駕輕就熟,但與前端合作就顯得不是那麼熟練了。
舉一個小例子,一個使用者列表,我們從資料庫取出來是一個List<User>,但它在最上層顯示就是一個很炫酷的使用者列表,我們後台人員是需要把資料以表格樣式呈現然後讓前端人員去加樣式呢,還是前端做好樣式留出介面由後台人員給出資料呢。
剛剛接觸網站開發可能都會出現類似的問題,我們是多希望前端和背景工作分的清清楚楚啊。
其實不用想那麼複雜,JSON就可以幫我們。
後台只需告訴前端,請求某一個URL地址就可以得到使用者資料的JSON格式的資料,前端在需要的時候自己去請求就好,剩下的工作就由前端做就好了,清清楚楚,乾乾淨淨。
二、準備工作
jar包準備
CSDN很強大,好人也是很多的哈,希望大家多多分享,共同進步哈……下面的jar包下載地址是可以的……
http://download.csdn.net/detail/zhangy0329/607838
三、代碼執行個體
一段controller控制器的攔截器代碼(注釋解釋的很詳細的)
<span style="white-space:pre"></span>/** * 測試擷取所有使用者列表 * @param request * @return String * @throws IOException */@RequestMapping("/getAllUserTest")public String getAllUserTest(HttpServletRequest request, HttpServletResponse response) throws IOException{//從資料庫中取出所有使用者資訊,傳回值為一個User對象集合,每個User對象包含username與age兩個參數List<User> findAll = userService.findAll();//建立JSONArray執行個體JSONArray jsonArray = new JSONArray();//for each迴圈取出每個User對象for(User user: findAll){//JSONObject是一個{}包裹起來的一個對象(Object),//JSONArray則是[]包裹起來的一個數組(Array)//此處為對象,所以用得到JSONObject JSONObject jo = new JSONObject(); jo.put("username", user.getUsername()); jo.put("age", user.getAge()); jsonArray.add(jo); }try { //後台輸出測試 System.out.println(jsonArray.toString()); //設定字元集 response.setCharacterEncoding("UTF-8"); //頁面輸出 response.getWriter().println("JSON輸出形式:"); response.getWriter().write(jsonArray.toString()); } catch (IOException e) { e.printStackTrace(); } return null;}
那麼前端請求相應的URL就可以得到所有的使用者資訊了。
效果如下:
如果可以的話,項目做到一定程度後會吧整個項目源碼共用的,當然現在只有測試demo啦,謝謝大家。