zoukankan      html  css  js  c++  java
  • 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.1</version>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.5.1</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 1;
        }
    
    }

      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("孟六","123");
            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("孟六","123");
            UserInfo u2=new UserInfo("孟七","123");
    
            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="image/1.jpg">--%>
    <input type="button" value="我在一个没有窗户的小黑屋,住着六个人,一个人通宵写代码,慰藉我的孤独内心"/>
    </body>
    </html>

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

  • 相关阅读:
    3.2.8.1 打印与否
    3.2.8 sed 的运作
    3.2.7.1 替换细节
    3.2.7 基本用法
    3.2.6 在文本文件里进行替换
    3.2.5 程序与正则表达式
    pgm2
    pgm6
    pgm7
    pgm8
  • 原文地址:https://www.cnblogs.com/DawnCHENXI/p/8671980.html
Copyright © 2011-2022 走看看