1. 程式人生 > >SSM-SpringMVC-21:SpringMVC中處理器方法之返回值Object篇

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

自定義user RR jsp頁面 input tle color int() bin 重復

------------吾亦無他,唯手熟爾,謙卑若愚,好學若饑-------------

今天要記錄的是處理方法,返回值為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,點擊使用

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