SpringMVC的資料繫結

2022-10-10 20:36:15 字數 2691 閱讀 4154

目錄日期型別傳值注意

post提交亂碼問題

擴充套件:通用訪問jsp

springmvc使用comtroller類中, return的時候, 就會呼叫視**析器進行拼接字首和字尾, 然後進行**. 所以實際上return就是**

當然如果你不嫌麻煩, 可以獲取request物件使用servlet的方式進行**和重定向

特點:http//localhost:8080/mvc/testparam01?name=張飛&age=28&addr=河北

public string testparam01(string name, integer age, string addr)

@requestparam("param")

特點:http//localhost:8080/mvc/testparam02?name=張飛&age=28&addr=河北

public string testparam03(

@requestparam("name") string username,

@requestparam("age") integer age,

@requestparam("addr") string address)

特點:http//localhost:8080/mvc/testparam03?name=張飛&age=28&addr=河北

特點:user實體類

public class user
http//localhost:8080/mvc/testparam04?name=張飛&age=28&addr=河北

public string testparam04(user user)

獲得request和session的物件

特點:是springmvc常用的方式, 把資料進項**或傳送到jsp頁面,

jsp使用el或jstl表示式即可獲取到資料

public modelandview testparam06(model model)

也是springmvc底層的傳值方式

特點:public modelandview testparam06()

特點:public string testparam07(modelmap map)

public string testparam04(date date)

例如我們有兩個如期的請求:

/testparam04?date=2020/06/23 1:51:39(正常接收)

/testparam04?date=2020-06-23 1:51:39(瀏覽器400狀態碼)

一種是以斜槓分割, 一種是以橫槓分割, springmvc預設是以斜槓/分割的, 所以使用橫槓會丟擲引數型別不匹配異常

解決方案

當使用post提交時中文會出現亂碼

get提交再tomcat8.0及後續版本亂碼問題已解決

post亂碼問題需要手動解決

解決方案: 使用過濾器

web.xml中進行配置

encodingfilter

org.springframework.web.filter.characterencodingfilter

encoding

utf-8

/*

這樣就完美解決了post提交亂碼的問題

例如我們要訪問某乙個web-inf下的jsp檔案時, 只能通過controller**才能訪問, 如toindex(),tologin()方法等, 當jsp頁面比較多的時候, **寫起來就比較多, 所以springmvc提供了web-inf/下jsp檔案的通用訪問方式:

public string topage(@pathvariable string pagename)

其中pagename變數名不是固定的, 只要上面三個地方名字一樣即可

這樣, 如果我們web-inf下有jsp:index.jsp,login.jsp,list.jsp等多個jsp時, 有這乙個controller就可以實現所有jsp的訪問, 如:localhost:8080/應用名/index,localhost:8080/應用名/login,localhost:8080/應用名/list就可以訪問對應的jsp, 就是根據瀏覽器端輸入的url, 自動尋找對應的jsp

執行過程:

瀏覽器輸入: localhost:8080/應用名/index, 當瀏覽器訪問controller方法上的路徑為"/index", 那麼/{}中pagename的值為"index", 再將/{}中pagename的值傳遞給topage方法上的形參pagename, 那麼將形參pagename直接返回, 因此, 若訪問路徑為/index, 最後則跳轉到index.jsp, 若訪問路徑為_top, 最後跳轉到_top.jsp

springMVC資料繫結

1.資料繫結的定義 2.常用的資料繫結型別 3.具體使用方法 在搭建好springmvc環境下新增註解 requestparam value 表單對應的name 即可完成資料繫結 package com.yzy.controller import com.yzy.entity.course impo...

Spring MVC資料繫結 複雜資料繫結

接上篇spring mvc資料繫結 簡單資料繫結 1 繫結包裝pojo 所謂的包裝pojo,就是在乙個pojo中包含另乙個簡單pojo。例如,在訂單物件中包含使用者物件。這樣在使用時,就可以通過訂單查詢到使用者資訊。1.在po包下新建乙個orderspojo public class orders2...

SpringMVC資料繫結流程

1.spring mvc 框架將 servletrequest 物件及目標方法的入參例項傳遞給 webdatabinde ctory 例項,以建立 databinder 例項物件 2.databinder 呼叫裝配在 spring mvc 上下文中的conversionservice 元件進行資料型...