當前位置:編程學習大全網 - 源碼下載 - 4、商品修改功能開發(springmvc筆記)

4、商品修改功能開發(springmvc筆記)

主要內容:

這裏我們還是使用上次整合的工程。

操作流程:

根據上面的需求我們可以知道, mapper 中此處需要完成兩個功能:

根據持久層 mapper 的相關業務需求,這裏我們就可以知道業務層的功能需求

ItemsServiceI.java

ItemsServiceImpl.java

說明: 這裏我們的方法還不是很完善,比如這裏就沒有給出查詢條件,在後面壹步步完善。

ItemsController.java

說明: 對於商品列表展示頁面在整合工程中已經給出,這裏我們給出修改頁面:

WEB-INF/jsp/items/editItems.jsp

下面我們就可以部署工程,使用地址 http://localhost:8080/springmvc-mybatis01/queryItems.action 進行訪問,此時點擊頁面中的修改頁面,就會找到 editItems.action ,我們可以看到修改頁面中回顯了我們選擇要修改商品的信息。當然這裏還有壹個成功頁面 WEB-INF/jsp/items/success.jsp 。

普通 url 地址映射在之前講過,比如:

所謂窄化請求映射就是當控制器中方法很多,映射很多的時候,我們為了便於管理,壹般會將這些 url 地址進行分類管理。這裏我們對控制器進行改造,窄化請求映射。

進行窄化請求映射,於是最終的 url 就是跟路徑+子路徑,比如 /items/queryItems.action 。我們在此處改動之後需要對jsp頁面進行改進,在 itemsList.jsp 中

在 editItems.jsp

其中被註釋掉的是之前的方式。

壹般常用請求方式有 GET 和 POST 兩種,但是有時候我們需要規定必須使用哪種方式,在 ItemsController.java :

這裏我們限制請求方式必須是 GET 或者 POST ,當然如果這裏我們限制為 POST ,那麽默認的 GET 提交方式就提交不成功。

這個在之前我們已經講過,這裏不再說明。

說明: 可以看到我們首先將數據存入到 Model 中,然後返回邏輯視圖地址。而真正的視圖( jsp )還需要加上前綴和後綴。

說明: 壹定註意在 Controller 方法中重定向時不需要加根路徑。

說明: 通過此種方式進行頁面轉發, url 地址欄不變, request 可以***享。當然我們說 request 可以***享,那麽我們可以給方法傳遞壹個參數 HttpServletRequest :

於是我們在其跳轉的方法中可以接收 request :

這樣就實現了 request 的***享。我們可以在此方法中進行測試。

在 Controller 方法行參上可以定義 request 和 response ,使用 request 或者 response 指定響應結果:

直接在 Controller 方法的形參上定義下面類型的對象,就可以使用這些對象。在參數綁定過程中,如果遇到下邊的類型直接進行綁定(自動進行的)。

說明: 這裏我們綁定了壹個簡單類型( Integer ),如果這個參數名稱為 id ,也就是和 request 傳入參數名稱壹致,那麽我們不需要使用註解。但是這裏我們參數名稱是 items_id ,也就是不壹致,那麽我們需要使用上面的註解進行綁定。 @RequestParam 中 value 指定 request 傳入參數名稱和形參綁定, required=true 指定此參數是否必須被傳入, defaultValue="" 設置默認值。可以綁定的簡單類型還有 String、float、double、boolean 。

說明: 這裏我們綁定 pojo 類有個前提,就是頁面中 input 的名稱和 Controller 的 pojo 形參中的屬性名稱壹致,可以自動將頁面中的數據綁定到 pojo 中

然後我們再次訪問時發生錯誤,這裏的問題是日期類型不能自動綁定,需要我們手動編寫轉換器之後綁定。對於 Controller 形參中 pojo 對象,如果屬性中有日期類型,需要自定義參數綁定。將請求的日期數據串轉換成日期類型,要轉換的日期類型和 pojo 中日期屬性的類型保持壹致。需要像處理器適配器中註入自定義的參數綁定組件。在 springmvc.xml 中:

說明: 我們使用 conversion-service 屬性給適配器中添加自定義轉換器。

自定義轉換器 CustomDateConverter.java

說明: 註意自定義轉換器需要實現 Converter 接口。其中 String 是我們需要轉換的類型, Date 是我們最終需要的類型。

當然這種方式較為繁瑣,這裏只是了解。

最後: 我們看到這裏我們使用這樣壹個例子將 springmvc 開發中所需要用到的壹些基本內容說明了,對於其他功能開發基本就類似了。

  • 上一篇:華為MT880D 想新增壹個8000端口 不知道怎麽設置 哪位高手指點壹下 越詳細越好 謝謝啦謝謝了,大神幫忙啊
  • 下一篇:陸熙熙《好詞好句傳》
  • copyright 2024編程學習大全網