處理器方法可以包含以下四類參數,這些參數會在系統調用時由系統自動賦值,即程序員可在方法內直接使用。
● HttpServletRequest
● HttpServletResponse
● HttpSession
● 請求中所攜帶的請求參數
只要保證請求參數名與該請求處理方法的參數名相同即可。
項目:receiveParameters-property。在 requestMapping-method 基礎上修改。
Step1:修改 index 頁面
Step2:修改處理器類 MyController
Step3:添加 show 頁面
在/WEB-INF/jsp 下添加 show.jsp 頁面。
對于前面所接收的請求參數,若含有中文,則會出現中文亂碼問題。Spring 對于請求參數中的中文亂碼問題,給出了專門的字符集過濾器:spring-web-4.3.9.RELEASE.jar 的org.springframework.web.filter 包下的 CharacterEncodingFilter 類。
在 web.xml 中注冊字符集過濾器,即可解決 Spring 的請求參數的中文亂碼問題。不過,最好將該過濾器注冊在其它過濾器之前。因為過濾器的執行是按照其注冊順序進行的。直接在項目 receiveParameters-property 上進行修改。
打開 CharacterEncodingFilter 類的源碼,發現有三個 set 方法。
字符集設置核心方法:
所謂校正請求參數名,是指若請求 URL 所攜帶的參數名稱與處理方法中指定的參數名不相同時,則需在處理方法參數前,添加一個注解@RequestParam(“請求參數名”),指定請求 URL 所攜帶參數的名稱。該注解是對處理器方法參數進行修飾的。value 屬性指定請求參數的名稱。
項目:receiveParameters-params。在 receiveParameters-property 基礎上修改。
Step1:修改 index 頁面
將表單中的參數名稱修改的與原來不一樣。
Step2:修改處理器類 MyController
將處理器方法的參數定義為一個對象,只要保證請求參數名與這個對象的屬性同名即可。
項目:receiveParameters-object。在 receiveParameters-property 基礎上修改。
Step1:定義類 Student
Step2:修改處理器類 MyController
Step3:修改 show 頁面