SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇

2023-04-26,,

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

今天要记录的是处理方法返回值为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-21:SpringMVC中处理器方法之返回值Object篇.doc》

下载本文的Word格式文档,以方便收藏与打印。