日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(三)Controller接口控制器详解(二)

發布時間:2023/12/6 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (三)Controller接口控制器详解(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、AbstractController(簡單控制器)

AbstractController使用方法:

首先讓我們使用AbstractController來重寫第二章的HelloWorldController:

?

public class HelloWorldController extends AbstractController {@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp) throws Exception {//1、收集參數//2、綁定參數到命令對象//3、調用業務對象//4、選擇下一個頁面ModelAndView mv = new ModelAndView();//添加模型數據 可以是任意的POJO對象mv.addObject("message", "Hello World!");//設置邏輯視圖名,視圖解析器會根據該名字解析到具體的視圖頁面mv.setViewName("hello");return mv;} }

?

<!— 在chapter4-servlet.xml配置處理器 --> <bean name="/hello" class="cn.javass.chapter4.web.controller.HelloWorldController"/>

?

從如上代碼我們可以看出:

1、繼承AbstractController

2、實現handleRequestInternal方法即可。

?

二、ServletForwardingController

將接收到的請求轉發到一個命名的servlet

三、BaseCommandController

命令控制器通用基類,提供了以下功能支持:

1、數據綁定:請求參數綁定到一個command object(命令對象,非GoF里的命令設計模式),這里的命令對象是指綁定請求參數的任何POJO對象;

?? commandClass:表示命令對象實現類,如UserModel;

?? commandName:表示放入請求的命令對象名字(默認command),request.setAttribute(commandName, commandObject);

?

2、驗證功能:提供Validator注冊功能,注冊的驗證器會驗證命令對象屬性數據是否合法;

?? validators:通過該屬性注入驗證器,驗證器用來驗證命令對象屬性是否合法;

?

該抽象類沒有沒有提供流程功能,只是提供了一些公共的功能,實際使用時需要使用它的子類。

四、AbstractCommandController

命令控制器之一,可以實現該控制器來創建命令控制器,該控制器能把自動封裝請求參數到一個命令對象,而且提供了驗證功能。

用于支持帶步驟的表單提交的命令控制器基類,使用該控制器可以完成:

1、定義表單處理(表單的渲染),并從控制器獲取命令對象構建表單;

2、提交表單處理,當用戶提交表單內容后,AbstractFormController可以將用戶請求的數據綁定到命令對象,并可以驗證表單內容、對命令對象進行處理。

?

五、AbstractFormController

用于支持帶步驟的表單提交的命令控制器基類,使用該控制器可以完成:

1、定義表單處理(表單的渲染),并從控制器獲取命令對象構建表單;

2、提交表單處理,當用戶提交表單內容后,AbstractFormController可以將用戶請求的數據綁定到命令對象,并可以驗證表單內容、對命令對象進行處理。

?

六、SimpleFormController

提供了更好的兩步表單支持:

1、準備要展示的數據,并到表單展示頁面;

2、提交數據數據進行處理。

?

七、CancellableFormController

?

?1、表單展示:和SimpleFormController一樣;

2、表單取消:和SimpleFormController一樣;

3、表單成功提交:取消功能處理方法為:onCancel(Object command),而且默認返回cancelView屬性指定的邏輯視圖名。

???那如何判斷是取消呢?如果請求中有參數名為“_cancel”的參數,則表示表單取消。也可以通過cancelParamKey來修改參數名(如“_cancel.x”等)。

?

?

AbstractController

轉載于:https://www.cnblogs.com/yuexiaoyun/p/9461123.html

總結

以上是生活随笔為你收集整理的(三)Controller接口控制器详解(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。