jsp实现后端对前端的局部更新_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 comments = commentService.selectAllComment();

for(Comment com:comments){

System.out.println(com.getC_text());

}

mav.addObject("msg",comments);

mav.setViewName("textIndex.jsp");

return mav;

}

}

jsp页面代码

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'index.jsp' starting page

${com.getUid()}:${com.getC_text()}:${com.getC_date()}

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 test(){

List 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));

}

};

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值