SSM整合次日

  **先補充昨天沒有看到的springMVC視圖解析器的做用web

    主要是屬性 前綴prefix 和後綴 suffix。能夠在視圖解析過程,即在ModelAndView中省略文件前綴名和後綴名spring

  **以及組件掃描controller <contxt:component-scan>session

  

  今天主要學習內容:mvc

  1.窄化請求app

      a)在controller類下,即標註爲@controller下添加requestMapping("/a");則訪問路徑爲/a/xx.actionjsp

      b)在requestMapping中添加method能夠限定請求訪問的方式,例如post,get..post

   2.Controller返回值學習

      a)ModelAndView 我的更喜歡這種方式,只要對modelAndView進行配置,不須要動形參spa

        在使用重定向redirect和轉發forward時,轉發地址是映射地址,即xx.action,不是普通設置的文件地址調試

        格式爲"forward:xx.action"

      b)String 返回值直接爲jsp地址,model做爲形參,並會傳給request.

   3.形參綁定

      今天使用的我的理解就是在網頁端填寫的Parameter值做爲形參傳給Controller,實現對錶單值的操做。

      形參的幾種寫法:a)直接寫,可是名字要與Parameter的name值保持一致

              b)標籤寫法, (@requestParam value="name值")

              當形參爲pojo對象時,也保持與name值一致

      而後默認幾種類型 HttpServletRequest,HttpServletResponse,session,Model..

   4.自定義參數的綁定

      由於有用到參數類型爲Date的屬性,而網頁中提交的text是字符串String類型,因此須要在SpringMVC的處理器適配器中註冊轉換器

      具體註冊轉換器方法:

      1)在適配器上註冊轉換器

      <mvc:annotation-driven conversion-service="conversionService">

      2)在bean中建立轉換器對象

      <!-- 自定義參數綁定 -->
        <bean id="conversionService"  class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <!-- 轉換器 -->
        <property name="converters">
         <list>
         <bean class="controller.converter.CustomDateConverter"/>
         </list>
        </property>
        </bean>

      3)寫實現類,繼承org.springframework.core.convert.converter.Converter

      在這裏也複習了下SimpleDateFormat和parase方法(都快忘了)

 

      今天遇到的問題:

    1.在形參傳入的時候,無論怎麼調試,發現表單提交後的那個頁面controller方法裏傳入的形參一直爲Null,在查找後已經解決。檢查表單中配置是否有 enctype="multipart/form-data" ,原理是它會讓數據已二進制傳遞,因此表現爲null。

    2.在controller中ModelAndView setViewName方法裏實現foward轉發和Redirct重定向時,其中轉發的目標是映射器的映射即action,不是jsp文件!!!而且不能有/,有/意味着是在web工程下,特別是在Controller類中定義了窄化請求,就沒法獲得窄化請求的路徑。

相關文章
相關標籤/搜索