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的

 


1
2
3
4
5
6
7
8
9
10
11
12
1        &lt;dependency&gt;
2            &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
3            &lt;artifactId&gt;jackson-core&lt;/artifactId&gt;
4            &lt;version&gt;2.8.1&lt;/version&gt;
5        &lt;/dependency&gt;
6
7        &lt;dependency&gt;
8            &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
9            &lt;artifactId&gt;jackson-databind&lt;/artifactId&gt;
10            &lt;version&gt;2.5.1&lt;/version&gt;
11        &lt;/dependency&gt;
12

 

 

 

so:开始案例,(在一案例中使用到的代码,就不在二,三,四案例里重复展示,以此类推,只会在里面简单提一下)

 

一,****返回值为Object数值****

1.首先准备一个处理器,里面加入案例一的处理方法

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1package cn.dawn.day12return;
2
3import org.springframework.stereotype.Controller;
4import org.springframework.web.bind.annotation.RequestBody;
5import org.springframework.web.bind.annotation.RequestMapping;
6import org.springframework.web.bind.annotation.ResponseBody;
7
8import java.util.ArrayList;
9import java.util.List;
10
11/**
12 * Created by Dawn on 2018/3/28.
13 */
14@Controller
15public class ReturnObjectController {
16
17    /*返回值object数值型*/
18    @RequestMapping(&quot;/returnobjint&quot;)
19    @ResponseBody
20    public Object returnobjint(){
21        return 1;
22    }
23
24}
25

 

2.需要一个xml配置文件:(与以往不同的是,需要配置注解驱动)

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
2&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
3       xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
4       xmlns:mvc=&quot;http://www.springframework.org/schema/mvc&quot;
5       xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
6       xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans
7        http://www.springframework.org/schema/beans/spring-beans.xsd
8        http://www.springframework.org/schema/mvc
9        http://www.springframework.org/schema/mvc/spring-mvc.xsd
10         http://www.springframework.org/schema/context
11         http://www.springframework.org/schema/context/spring-context.xsd&quot;&gt;
12
13    &lt;!--包扫描器--&gt;
14    &lt;context:component-scan base-package=&quot;cn.dawn.day12return&quot;&gt;&lt;/context:component-scan&gt;
15    &lt;!--视图解析器--&gt;
16    &lt;bean class=&quot;org.springframework.web.servlet.view.InternalResourceViewResolver&quot;&gt;
17        &lt;property name=&quot;prefix&quot; value=&quot;/&quot;&gt;&lt;/property&gt;
18        &lt;property name=&quot;suffix&quot; value=&quot;.jsp&quot;&gt;&lt;/property&gt;
19    &lt;/bean&gt;
20
21
22    &lt;!--注解驱动--&gt;
23    &lt;mvc:annotation-driven&gt;&lt;/mvc:annotation-driven&gt;
24
25&lt;/beans&gt;
26

 

3.web.xml中将中央调度器调度到上面的那个xml,就不给源码了

4.去通过网页url访问,就ok了

 

二,返回值为Object的String类型

1.处理方法:

 


1
2
3
4
5
6
7
1    /*返回值object的String型*/
2    @RequestMapping(value = &quot;/returnobjstr&quot;,produces = &quot;text/html;charset=UTF-8&quot;)
3    @ResponseBody
4    public Object returnobjstr(){
5        return &quot;我是不是中文呢?&quot;;
6    }
7

 

此出指定了返回页面的编码,utf-8,如果不返回会乱码

2.自己的配置xml,web.xml用上面的那个,因为处理方法,就在上面的一个处理器类中

3.通过url访问

 

三,返回值为Object的对象类型

1.定义一个 UserInfo实体类;

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
1package cn.dawn.day12return;
2
3/**
4 * Created by Dawn on 2018/3/26.
5 */
6public class UserInfo {
7    private String username;
8    private String password;
9
10    public UserInfo() {
11    }
12
13    public UserInfo(String username, String password) {
14        this.username = username;
15        this.password = password;
16    }
17
18    public String getUsername() {
19        return username;
20    }
21
22    public void setUsername(String username) {
23        this.username = username;
24    }
25
26    public String getPassword() {
27        return password;
28    }
29
30    public void setPassword(String password) {
31        this.password = password;
32    }
33}
34

 

2.定义处理器方法

 


1
2
3
4
5
6
7
8
1    /*返回值object对象User型*/
2    @RequestMapping(value = &quot;/returnobjUser&quot;)
3    @ResponseBody
4    public Object returnobjUser(){
5        UserInfo u1=new UserInfo(&quot;孟六&quot;,&quot;123&quot;);
6        return u1;
7    }
8

 

3.自定配置xml文件,web.xml和上面一样

4.通过网页url访问

 

四,返回值为Object的集合类型

1.UserInfo用上面那个就好:

2.定义处理方法:

 


1
2
3
4
5
6
7
8
9
10
11
12
13
1    /*返回值object对象User的集合型*/
2    @RequestMapping(value = &quot;/returnobjUserList&quot;)
3    @ResponseBody
4    public Object returnobjUserList(){
5        List&lt;UserInfo&gt; lists=new ArrayList&lt;UserInfo&gt;();
6        UserInfo u1=new UserInfo(&quot;孟六&quot;,&quot;123&quot;);
7        UserInfo u2=new UserInfo(&quot;孟七&quot;,&quot;123&quot;);
8
9        lists.add(u1);
10        lists.add(u2);
11        return lists;
12    }
13

 

3.自定配置xml文件,web.xml和上面一样****

4.定义一个jsp页面,我在里面写了ajax,并对返回的那个List<UserInfo>对象做了解析

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1&lt;%@ page language=&quot;java&quot; pageEncoding=&quot;utf-8&quot; isELIgnored=&quot;false&quot; %&gt;
2&lt;html&gt;
3&lt;head&gt;
4    &lt;title&gt;Ajax&lt;/title&gt;
5    &lt;script type=&quot;text/javascript&quot; src=&quot;${pageContext.request.contextPath}/js/jquery-1.8.3.min.js&quot;&gt;&lt;/script&gt;
6    &lt;script type=&quot;text/javascript&quot;&gt;
7
8        $(function () {
9
10            $(&quot;input&quot;).on(&quot;click&quot;,function () {
11                $.ajax({
12                    url:&quot;${pageContext.request.contextPath}/returnobjUserList&quot;,
13                    success:function (date) {
14                        alert(typeof date);
15                        $.each(date,function (i, item) {
16                            alert(item.username);
17                        })
18                    }
19                });
20            });
21        });
22
23    &lt;/script&gt;
24&lt;/head&gt;
25
26&lt;body&gt;
27&lt;%--&lt;img src=&quot;image/1.jpg&quot;&gt;--%&gt;
28&lt;input type=&quot;button&quot; value=&quot;我在一个没有窗户的小黑屋,住着六个人,一个人通宵写代码,慰藉我的孤独内心&quot;/&gt;
29&lt;/body&gt;
30&lt;/html&gt;
31

 

5.启动tomcat,访问jsp,点击使用

 

给TA打赏
共{{data.count}}人
人已打赏
安全技术

C++调用Python

2022-1-11 12:36:11

安全网络

Netty源码分析第4章(pipeline)---->第4节: 传播inbound事件

2021-8-18 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索