<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    初一七月

    你必須承認,我們生存的這個世界取決于自身的能力而非別人的保護(AW)
    隨筆 - 23, 文章 - 0, 評論 - 11, 引用 - 0
    數據加載中……

    SpringMVC添加支持Http的delete、put請求

        瀏覽器form表單只支持GET與POST請求,而DELETE、PUT等method并不支持,spring3.0添加了一個過濾器,可以將這些請求轉換為標準的http方法,使得支持GET、POST、PUT與DELETE請求。

        1.配置springmvc配置文件springmvc-servlet.xml
    <!-- 瀏覽器不支持put,delete等method,由該filter將/xxx?_method=delete轉換為標準的http delete方法 -->  
    <filter>  
        
    <filter-name>HiddenHttpMethodFilter</filter-name>  
        
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>  
    </filter>  
      
    <filter-mapping>  
        
    <filter-name>HiddenHttpMethodFilter</filter-name>  
        
    <servlet-name>springmvc</servlet-name>  
    </filter-mapping> 

        其中springmvc是DispatcherServlet的名稱

        2.在對應的Controller中,添加對應的請求注解
    /** 進入新增 */
    @RequestMapping(value
    ="/new")  
         
    /** 顯示 */  
    @RequestMapping(value
    ="/{id}")  
          
    /** 編輯 */  
    @RequestMapping(value
    ="/{id}/edit")  
         
    /** 保存新增 */  
    @RequestMapping(method
    =RequestMethod.POST)  
         
    /** 保存更新 */  
    @RequestMapping(value
    ="/{id}",method=RequestMethod.PUT)  
          
    /** 刪除 */    
    @RequestMapping(value
    ="/{id}",method=RequestMethod.DELETE)  

    /** 批量刪除 */  
    @RequestMapping(method
    =RequestMethod.DELETE)

        進入新增頁面時沒有用add而是用new,是因為某些瀏覽器會將add當做廣告攔截掉。

        3.頁面請求
    <form:form action="/xxx/xxx" method="put">  
    </form:form>

        生成的頁面代碼會添加一個hidden的_method=put,并于web.xml中的HiddenHttpMethodFilter配合使用,在服務端將post請求改為put請求
    <form id="userInfo" action="/xxx/xxx" method="post">  
        
    <input type="hidden" name="_method" value="put"/>  
    </form> 

        另外也可以用ajax發送delete、put請求

    posted on 2011-05-18 18:31 初一七月 閱讀(9419) 評論(5)  編輯  收藏 所屬分類: Web

    評論

    # re: SpringMVC添加支持Http的delete、put請求  回復  更多評論   

    一旦form有屬性
    enctype="multipart/form-data"時,put方法將不會起作用。
    2012-06-02 13:42 | pch

    # re: SpringMVC添加支持Http的delete、put請求  回復  更多評論   

    我認為新增和編輯應該這樣:
    /** 進入新增 */
    @RequestMapping(value="/creator")
    /** 編輯 */
    @RequestMapping(value="/{id}/editor")

    url中無動詞,這樣更符合rest的風格。
    2012-06-02 14:15 | pch

    # re: SpringMVC添加支持Http的delete、put請求  回復  更多評論   

    $.getJSON
    data += "&_method=put";

    后臺好像不能請求到put方法上去
    2014-10-08 10:56 | 李凡

    # re: SpringMVC添加支持Http的delete、put請求[未登錄]  回復  更多評論   

    @李凡
    spring 的 轉換必須是POST請求,GET請求是不會轉的。
    2014-12-09 10:58 | 0

    # re: SpringMVC添加支持Http的delete、put請求  回復  更多評論   

    444
    2016-08-16 21:00 | 777
    主站蜘蛛池模板: 久久精品国产亚洲AV高清热 | 亚洲午夜日韩高清一区| 久久精品国产亚洲av麻豆图片| 桃子视频在线观看高清免费视频| 999在线视频精品免费播放观看| 久久国产亚洲高清观看| 5555在线播放免费播放| 91亚洲自偷手机在线观看| 亚洲高清视频在线播放| 99xxoo视频在线永久免费观看| 亚洲日韩国产AV无码无码精品| 国产情侣激情在线视频免费看| 亚洲一区免费视频| 日本免费一区二区三区最新| 99亚洲乱人伦aⅴ精品| 亚洲黄片手机免费观看| 91视频免费观看| 亚洲精品福利网站| 日日AV拍夜夜添久久免费| 日韩精品免费一线在线观看| 亚洲日韩中文无码久久| 永久在线免费观看| 亚洲免费综合色在线视频| 亚洲区日韩区无码区| 91成人免费观看| 麻豆亚洲AV成人无码久久精品| 国产亚洲午夜高清国产拍精品 | 亚洲成人中文字幕| 亚洲国产一区国产亚洲| 亚洲ⅴ国产v天堂a无码二区| 中文字幕免费观看| 亚洲一区二区三区无码国产 | 中文字幕 亚洲 有码 在线| 亚洲成在人线在线播放无码| 免费成人午夜视频| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 麻豆一区二区三区蜜桃免费| 精品久久香蕉国产线看观看亚洲| 中文字幕免费视频一| 日本系列1页亚洲系列| 亚洲AV无码成人专区片在线观看|