SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------
今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类:
1.返回值为Object数值(例如1),2.返回值为Object的String类型(例如"我是不是中文呢"),3.返回值为Object的对象类型(例如自定义UserInfo类型对象),4.返回值为Object的集合类型(例如UserInfo的List集合)
需要一个核心:<mvc:annotation-driven></mvc:annotation-driven>配置文件中的注解驱动这个节点
和jar包,jackson的
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.</version>
</dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.</version>
</dependency>
so:开始案例,(在一案例中使用到的代码,就不在二,三,四案例里重复展示,以此类推,只会在里面简单提一下)
一,返回值为Object数值
1.首先准备一个处理器,里面加入案例一的处理方法
package cn.dawn.day12return; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList;
import java.util.List; /**
* Created by Dawn on 2018/3/28.
*/
@Controller
public class ReturnObjectController { /*返回值object数值型*/
@RequestMapping("/returnobjint")
@ResponseBody
public Object returnobjint(){
return ;
} }
2.需要一个xml配置文件:(与以往不同的是,需要配置注解驱动)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"> <!--包扫描器-->
<context:component-scan base-package="cn.dawn.day12return"></context:component-scan>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean> <!--注解驱动-->
<mvc:annotation-driven></mvc:annotation-driven> </beans>
3.web.xml中将中央调度器调度到上面的那个xml,就不给源码了
4.去通过网页url访问,就ok了
二,返回值为Object的String类型
1.处理方法:
/*返回值object的String型*/
@RequestMapping(value = "/returnobjstr",produces = "text/html;charset=UTF-8")
@ResponseBody
public Object returnobjstr(){
return "我是不是中文呢?";
}
此出指定了返回页面的编码,utf-8,如果不返回会乱码
2.自己的配置xml,web.xml用上面的那个,因为处理方法,就在上面的一个处理器类中
3.通过url访问
三,返回值为Object的对象类型
1.定义一个 UserInfo实体类;
package cn.dawn.day12return; /**
* Created by Dawn on 2018/3/26.
*/
public class UserInfo {
private String username;
private String password; public UserInfo() {
} public UserInfo(String username, String password) {
this.username = username;
this.password = password;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
}
}
2.定义处理器方法
/*返回值object对象User型*/
@RequestMapping(value = "/returnobjUser")
@ResponseBody
public Object returnobjUser(){
UserInfo u1=new UserInfo("孟六","");
return u1;
}
3.自定配置xml文件,web.xml和上面一样
4.通过网页url访问
四,返回值为Object的集合类型
1.UserInfo用上面那个就好:
2.定义处理方法:
/*返回值object对象User的集合型*/
@RequestMapping(value = "/returnobjUserList")
@ResponseBody
public Object returnobjUserList(){
List<UserInfo> lists=new ArrayList<UserInfo>();
UserInfo u1=new UserInfo("孟六","");
UserInfo u2=new UserInfo("孟七",""); lists.add(u1);
lists.add(u2);
return lists;
}
3.自定配置xml文件,web.xml和上面一样
4.定义一个jsp页面,我在里面写了ajax,并对返回的那个List<UserInfo>对象做了解析
<%@ page language="java" pageEncoding="utf-8" isELIgnored="false" %>
<html>
<head>
<title>Ajax</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript"> $(function () { $("input").on("click",function () {
$.ajax({
url:"${pageContext.request.contextPath}/returnobjUserList",
success:function (date) {
alert(typeof date);
$.each(date,function (i, item) {
alert(item.username);
})
}
});
});
}); </script>
</head> <body>
<%--<img src="data:image/1.jpg">--%>
<input type="button" value="我在一个没有窗户的小黑屋,住着六个人,一个人通宵写代码,慰藉我的孤独内心"/>
</body>
</html>
5.启动tomcat,访问jsp,点击使用
SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇的更多相关文章
- SSM-SpringMVC-20:SpringMVC中处理器方法之返回值void篇
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 处理器的方法我们之前做过,返回值为String的,返回值为ModelAndView的,我们这个讲的这个返回 ...
- 11.SpringMVC注解式开发-处理器方法的返回值
处理器方法的返回值 使用@Controller 注解的处理器的处理器方法,其返回值常用的有四种类型 1.ModelAndView 2.String 3.void 4.自定义类型对象 1.返回Model ...
- springmvc 注解式开发 处理器方法的返回值
1.返回void -Ajax请求 后台: 前台: 返回object中的数值型: 返回object中的字符串型: 返回object中的自定义类型对象: 返回object中的list: 返回object中 ...
- springmvc中Controller方法的返回值
1.1 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 1.2 返回void 在controller方法形参 ...
- SpringMVC07处理器方法的返回值
<body> <!--返回值是string的内部视图 --> <a href="user/add">add</a> <!--返 ...
- SpringMVC_处理器方法的返回值
一.返回ModelAndView 若处理器方法处理完后,需要跳转到其他资源,且又要在跳转的资源间传递数据,此时处理器方法返回ModelAndView比较好.当然,若要返回ModelAndView ...
- JAVA IO中read()方法的返回值
read()方法的作用是从输入流读取数据的下一个字节,返回的字节的值是一个0~255之间的整数.到达流的末尾返回-1. 刚开始我以为这个返回值表示的是所读取的数据的长度,可是之后在一个示例程序中发现这 ...
- 《SpringMVC从入门到放肆》十一、SpringMVC注解式开发处理器方法返回值
上两篇我们对处理器方法的参数进行了分别讲解,今天来学习处理器方法的返回值. 一.返回ModelAndView 若处理器方法处理完后,需要跳转到其它资源,且又要在跳转资源之间传递数据,此时处理器方法返回 ...
- SpringMVC由浅入深day01_10@RequestMapping_11controller方法的返回值
10 @RequestMapping 10.1 Url路径映射 @RequestMapping(value="/item")或@RequestMapping("/item ...
随机推荐
- SpriteBuilder中的碰撞分类(Categories)和掩码(Masks)
假如有2种对象player和触发器(trigger),当玩家进入到触发器区域时则由触发器对象通知所有注册过触发器通知的对象,然后由这些对象自行选择做一些事情,比如:阻碍player的前景,触发陷阱等等 ...
- AngularJS进阶(二)AngularJS路由问题解决
AngularJS路由问题解决 遇到了一个棘手的问题:点击优惠详情时总是跳转到药店详情页面中去.再加一层地址解决了,但是后来发现问题还是来了: Could not resolve 'yhDtlMain ...
- Linux自动安装JDK的shell脚本
Linux自动安装JDK的shell脚本 A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在 ...
- 如何配置android的adb环境变量
如果打开DOS窗口,输入adb显示既不是内部命令也不是外部命令,则说明没有配置adb环境变量.方法如下: 第一步: 打开环境变量配置窗口.右击计算机,属性-高级系统设置-环境变量. 第二部: 添加an ...
- Android服务器——TomCat服务器的搭建
Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...
- HBase开启LZO
hbase只支持对gzip的压缩,对lzo压缩支持不好.在io成为系统瓶颈的情况下,一般开启lzo压缩会提高系统的吞吐量.但这需要参考具体的应用场景,即是否值得进行压缩.压缩率是否足够等等. 想要hb ...
- rails项目编写中的一些小技巧小心得
1. 如果form中有数据要传回服务器可以用隐藏属性的控件: form_for(xxx) do |f| f.hidden_field :xxx,value:xxx end 2. 如果你需要一些信息放在 ...
- pandas数据处理基础——筛选指定行或者指定列的数据
pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构). 本文为了方便理解会与excel或者sql操作行或列来进行联想类比 ...
- Java内存模型_volatile
volatile变量自身具有下列两点特性: 可见性:锁的happens-before规则保证释放锁和获取锁的两个线程之间的内存可见性.意味着对一个volatile变量的读,总是能看到(任意线程)对这个 ...
- PuTTY的下载安装和基本使用方法教程
PuTTY是一款开源(Open Source Software)的连接软件,主要由Simon Tatham维护,使用MIT许可证授权.包含的组件有:PuTTY, PuTTYgen,PSFTP, PuT ...