enctype="multipart/Form-data"取不到值

最近做了個簡單的後臺,a.jsp 用post方式提交到b.jsp ,取值一直是null,表單內容提交不過去,很是詭異,後來在網上查 原來在jsp上的form中有加入enctype="multipart/Form-data"而導致取不到值。

這裏稍微深入下,編碼方式ENCTYPE是爲了設置頁面提交的編碼方式,主要包括3中種。
 
編碼方式 具體含義
text/plain 以純文本的方式進行發送
application/x-www-Form-urlencode 採用默認的編碼形式
multipart/Form-data 使用MINE編碼方式進行發送
 
如果在表單內有文件需上傳,必須使用multipart/Form-data的方式。但用request.getParameter("XXX")取出來的值會是null。enctype="multipart/form-data"是上傳二進制數據;form裏面的input的值以2進制的方式傳過去。
form裏面的input的值以2進制的方式傳過去,所以request就得不到值了。 也就是說加了這段代碼,用request就會傳遞不成功。
取表單值加入數據庫時,可用到下面的方法:
SmartUpload su = new SmartUpload();//新建一個SmartUpload對象
su.getRequest().getParameterValues();取數組值 
su.getRequest().getParameter( );取單個參數單個值
 
也可用下面的方法:
o'reilly組件  MultipartRequest 對象. getParameter("");來獲得。


原文出處:http://blog.csdn.net/tftutu/article/details/6456043

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章