博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC数据交换
阅读量:6912 次
发布时间:2019-06-27

本文共 4563 字,大约阅读时间需要 15 分钟。

前台JSP页面:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>submit
View Code

Controller源码:

 

package com.spring;import java.io.PrintWriter;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import com.model.User;@ControllerAdvice@RequestMapping("/spring")public class TestControllers{          // 无返回值的Controller结合ajax实现局部刷新,有返回值的Controller实现页面的跳转与数据的响应                  /*       * 将返回值已Object的形式输出到当前页面       * PrintWriter 输出对象       *        */            /*        @RequestMapping("/mvc")        public void showPerson(PrintWriter printWriter, @RequestBody String param)         {                System.out.println(param);            // 写入Response的Body体                String st ="{\"name\":\"zhangsna\",\"name1\":\"zhangsna\"}";            Map map = JSONObject.fromObject(st);            System.out.println(map);            printWriter.println(map);        }        */                /*         * POJO(JavaBean)  接收前台传递的key/value,         * @ResponseBody 将User对象输出至Response的Body中         */                /*          @RequestMapping("/mvc")          public  @ResponseBody User showPerson(User user)          {             System.out.println(user);                     return user;          }         */                /*         *  接收前台传递的Json字符串,         *  @ResponseBody 将User对象输出至Response的Body中         */        /*@RequestMapping("/mvc")        @ResponseBody        public Map showPerson( @RequestBody String params)        {            @SuppressWarnings("unchecked")            Map
map = JSONObject.fromObject(params); System.out.println(map); return map; }*/ /* * ModelAndView 视图(view)和模型(数据) * Model 内置的一个数据对象 * */ @RequestMapping("/demo1") public ModelAndView execute(Model model) { // 设置数据模型 model.addAttribute("name", "Jacky"); model.addAttribute("age", "20"); model.addAttribute("school", "陕西理工大学"); //设置视图数据模型 ModelAndView mav = new ModelAndView(); mav.setViewName("return"); mav.addObject("data",model); return mav; } /* * 自定义参数 */ @RequestMapping("/demo2") public ModelAndView execute() { Map data = new HashMap(); Map map = new HashMap(); // 设置数据模型 map.put("name", "Jacky"); map.put("age", "20"); map.put("school", "陕西理工大学"); data.put("data", map); //返回视图数据模型 return new ModelAndView("return",data); } /* * @RequestParam("user") user和前台传递的值保持一致 * */ @RequestMapping("/demo3") public void execute( PrintWriter writer ,@RequestParam("user") String name) { writer.print(name); } /* * @RequestParam("user") user和前台传递的值保持一致 * RequestMethod.GET 请求方式 */ @RequestMapping(value=("/demo04"),method={RequestMethod.GET,RequestMethod.POST}) public void executes( PrintWriter writer ,@RequestParam("user") String name) { writer.print(name); } /* * method={RequestMethod.GET,RequestMethod.POST} 请求方式 * @PathVariable("testId") 将url中的变量绑定到Controller的形参中 * 可以实现rest接口 */ @RequestMapping(value=("/delete/{testId}"),method={RequestMethod.GET,RequestMethod.POST}) public void execut( PrintWriter writer ,@PathVariable("testId") String id) { writer.print("Delete ID IS :"+id); } }
View Code

 

响应视图JSP:

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>          returnJsp         This is return JSP page. 
返回数据:${data}
View Code

 

常见错误分析:

  1.运行Tomcat时找不到类错误,去tomcat看,项目是部署到Tomcat的(MyEclipse和Idea在对应的输出路径处应该也有jar包的依赖关系)

  2.处理器根据url找不到handler

  

  3.转发jsp页面找不到

  

  4.json数据转Java对象

5.浏览器406错误

 

 

  

 

转载于:https://www.cnblogs.com/nevegiveup/p/6864232.html

你可能感兴趣的文章
iOS学习:UILabel和sizeWithFont方法
查看>>
《人生的智慧》第一章 基本的划分
查看>>
ecshop商品颜色尺寸仿淘宝选择功能教程
查看>>
AJAX实用教程——开篇
查看>>
数据库插入数据返回当前主键ID值方法
查看>>
浅谈三层架构
查看>>
Linux下使用openssl生成证书
查看>>
java设计优化-享元模式
查看>>
Android 获取文件大小
查看>>
linux删除或隐藏命令历史记录history
查看>>
java.lang.OutOfMemoryError: Java heap space
查看>>
认证 (authentication) 和授权 (authorization) 的区别
查看>>
Linux查看磁盘空间大小命令
查看>>
计算机软件著作权查询网址
查看>>
一起谈.NET技术,.Net4.0 Parallel编程(四)Task 上
查看>>
自定义Status Bar的基本方法
查看>>
react动画难写?试试react版transformjs
查看>>
Chrome(12)中使用getComputedStyle获取透明度(opacity)返回字符串不同于其它浏览器...
查看>>
【汉字乱码】IE下GET形式传递汉字。
查看>>
SmartImageView
查看>>