這是form表單的enctype編碼方式不同導致的
enctype 屬性規定在發送到服務器之前應該如何對表單數據進行編碼。
默認地,表單數據會編碼為 "application/x-www-form-urlencoded"。就是說,在發送到服務器之前,所有字符都會進行編碼(空格轉換為 "+" 加號,特殊符號轉換為 ASCII HEX 值)。如果使用GET,則強制使用application/x-www-form-urlencoded"方式。我代碼里強制使用了multipart/form-data方式,所以SpringMVC中獲取不到POST形式的參數
spring mvc如果要接收 multipart/form-data 傳輸的數據,應該在spring上下文配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>
並將commons-fileupload-1.2.1.jar和commons-io-2.5.jar包引入到項目中
這樣服務端就既可以接收multipart/form-data 傳輸的數據,也可以接收application/x-www-form-urlencoded傳輸的文本數據了。