當前位置:
首頁 > 知識 > SpringMVC從入門到 精通第七章

SpringMVC從入門到 精通第七章

過年期間太忙了沒來得及更新SpringMVC框架的知識點。

上一章主要講述了@RequestParam這個註解,不知道大家有木有忘掉,這個註解的主要作用就是把請求參數映射到目標方法的形參上面。

其實這種做法也不好,試想一下對於表單參數就不是一個兩個的了。這時候利用這個註解成本就消耗的特別大的了。

簡單說一下場景:對於一個註冊頁面有很多信息譬如:用戶名、密碼、確認密碼、郵箱、手機、興趣等等

這時候就會想能不能將這些個參數包裝在一個對象中(POJO),用這個POJO來做目標方法的形參上面。可以說的是springmvc是支持將pojo作為目標參數的。當然也是要遵循一些規則的,就是表單的name屬性值要和POJO的屬性值要一致。當然了,這樣又會有一個新的疑問支不支持級聯屬性答案是支持的。

第一個知識點:使用POJO作為目標方法參數

public class Address{ private String city; } public class Person{ private String name; ..... private Addrss address;//這個就是級聯屬性 }

示例代碼:

POJO:

public class Address { private String city; private String province; } public class User { private Integer id; private String username; private String password; private Address address; }

JSP:

用戶:密碼: 編號:

省份:城市:

Java代碼:

/** * SpringMVC會按請求參數名和POJO屬性名進行自動匹配, * 自動為該對象填充屬性值。支持級聯屬性 * * @Title: testUsePOJOAsParam * @Description: TODO (使用pojo作為作為參數傳遞給目標方法,支持聯級屬性) * @Author: Hanson.Q * @Create Date: 2016年2月16日 下午1:27:27 * @History: 2016年2月16日 下午1:27:27 Hanson Created. * @param user * @return * */ @RequestMapping("/testUsePOJOAsParam") public String testUsePOJOAsParam(User user) { System.out.println("Use POJO as paramters : " + user); return "success"; }

知識點二:使用servlet原生的API作為參數

springmvc支持使用原生的servletAPI作為目標方法的參數

jsp:

使 用原生的API作為作為目標方法的參數

JAVA代碼:

/** * 可以使用Servlet 原生的API作為目標方法的參數 * 具體支持以下類型: HttpServletRequest、 * HttpServletResponse、 HttpSession、 java.security.Principal、 Locale、 * InputStream、 OutputStream、 Reader、 Writer * * @Title: testUseServletAPIAsParam * @Description: TODO (測試使用原生servletAPI作為目標參數) * @Author: Hanson * @Create Date: 2016年2月16日 下午1:34:36 * @History: 2016年2月16日 下午1:34:36 Hanson Created. * * @param request * @param response * @param out * @return * @throws IOException * */ @RequestMapping("/testUseServletAPIAsParam") public String testUseServletAPIAsParam(HttpServletRequest request, HttpServletResponse response, Writer out) throws IOException { System.out.println("Test servlet api ," + request + "," + response); response.setContentType("text/html; charset=utf-8"); out.write("hello SpringMVC"); return "success"; }

運行結果頁面顯示:hello SpringMVC 。

這一章就講這兩個知識點。下一章我想將springmvc+spring+mybatis整合了。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

Java程序員面試失敗的 5大原因
Java正則表達式的 語法與示例
JSP頁面的五種 跳轉方法

TAG:java學習吧 |

您可能感興趣

SpringMVC如何與Servlet3整合在一起
Spring與SpringMVC的容器關係分析
SpringMVC(輕量級Web框架)
SpringMVC流程架構
SpringMVC接收Form表單中的數組數據
Spring SpringMVC配置Druid數據源(資料庫連接池)
搭建SpringMVC(非web.xml文件方式)
Spring4+hibernate+SpringMvc整合
SpringMVC + security模塊 框架整合詳解
SpringMVC,Spring,Hibernate框架自動生成器
淺談SpringMVC和MyBatis在應用方面的優勢
SpringMVC筆記(3):數據綁定
SpringMVC常用配置3
netty整合springMVC,實現高效的HTTP服務請求
SpringMVC工程的web.xml以及其他配置文件
SpringMVC國際化與文件上傳
SpringMVC 開發 — 使用 Swagger 搭建介面請求頁面
探索SpringMVC4中靜態資源的訪問鏈路
「SpringMVC」上傳並顯示圖片
自己手寫一個 SpringMVC 框架