springMVC后端返回數據到前端


1.返回ModelAndView對象(.jsp)

controller代碼:

package controller;

import java.util.List;

import javax.annotation.Resource;

import model.Comment;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import service.CommentService;

@Controller
//@RequestMapping("comment")
public class CommentController {
    @Resource private CommentService commentService;
    @RequestMapping(value="showComments")
    public ModelAndView test(){
        ModelAndView mav = new ModelAndView();
        List<Comment> comments = commentService.selectAllComment();
        for(Comment com:comments){
            System.out.println(com.getC_text());
        }
        mav.addObject("msg",comments);
        mav.setViewName("textIndex.jsp");
        return mav;
    }
}

jsp頁面代碼

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body>
  <c:forEach items="${msg}" var="com">
    ${com.getUid()}:${com.getC_text()}:${com.getC_date()}<br>
    </c:forEach>
  </body>
</html>

2.返回JSON數據到html頁面

 利用ajax接收數據

ajax({
        method:'post',
        url:'http://localhost:8080/graduate/showComments.do',
        data:'null',
        success:function(response){
            console.log(response);
        }
})

controller

@Controller
//@RequestMapping("comment")
public class CommentController {
    @Resource private CommentService commentService;
    
    @RequestMapping(value="showComments")
    @ResponseBody
    public List<Comment> test(){
        List<Comment> comments = commentService.selectAllComment();
        for(Comment com:comments){
            System.out.println(com.getC_text());
        }
        return comments;
    }
}

3.順便記錄一下原生ajax,方便以后使用

function ajax(opt) {
        opt = opt || {};
        opt.method = opt.method.toUpperCase() || 'POST';
        opt.url = opt.url || '';
        opt.async = opt.async || true;
        opt.data = opt.data || null;
        opt.success = opt.success || function () {};
        var xmlHttp = null;
        if (XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
        }
        else {
            xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        }var params = [];
        for (var key in opt.data){
            params.push(key + '=' + opt.data[key]);
        }
        var postData = params.join('&');
        if (opt.method.toUpperCase() === 'POST') {
            xmlHttp.open(opt.method, opt.url, opt.async);
            xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
            xmlHttp.send(postData);
        }
        else if (opt.method.toUpperCase() === 'GET') {
            xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async);
            xmlHttp.send(null);
        } 
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                opt.success(JSON.parse(xmlHttp.responseText));
            }
        };
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM