如何获得表单中元素的值

问题描述

我在JSP页面中添加了多个上传文件的功能,在form里加了enctype="multipart/form-data"这个属性,那么如何在Servelt中如何获得表单中元素的值(我用Request.getParameter())获得的参数都是null值

解决方案

解决方案二:
记得enctype="multipart/form-data"就不能获得!上传一般有组件,组件有相应的方法,你用的是什么组件,自己找下
解决方案三:
帅哥,我用的Servlet自带的组件,没用用Struts组件。否则用组件能解决的。
解决方案四:
只要是from的传递方式,到达servlet中使用request.getParameter("");就可以得到的,不会是哪些地方,你写的有问题吧?
解决方案五:
request.getInputStream()自己解析,具体怎么解析没试过(因为上传下载都会有很好的组件,组件很好完成了参数截取),如果非要自己弄,难度比较大
解决方案六:
commons-upload.jar刚用,还不错
解决方案七:
还是用组件比较好。。。form的类型变成enctype="multipart/form-data"之后,用request.getParameter是得不到的。。。以前用request.getInputStream只解析过文件名,都感觉很麻烦
解决方案八:
会不会跟method有关,看看是post还是get提交
解决方案九:
enctype="multipart/form-data"这个一般是上传文件的时候用到到的属性。我同意楼上说法,<formaction="????"name="formname"id="formid"method="POST"enctype="multipart/form-data">你应该看看你的method方法是不是post.
解决方案十:
method="post"肯定是Post,但是在Servlet中request.getParameter();拿表单中的元素真的拿不到,因为表单中不只是一个上传文件。更多的Form里是几个元素啊。如姓名、年龄、身高、体重、电话、等等。这些值在Servlet中用Request是肯定拿不到的,我都试了N次了。网上搜索资料,这个问题很多,好多人都遇到过这个问题。
解决方案十一:
publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//创建一个工厂实例,为解析器提供解析时的//缺省的配置DiskFileItemFactorydfif=newDiskFileItemFactory();//创建解析器ServletFileUploadsfu=newServletFileUpload(dfif);//使用解析器解析try{//FileItem对象封装了一个表单域的数据。List<FileItem>items=sfu.parseRequest(request);//只需要访问FileItem对象提供的方法,就可以//获取表单中的数据for(inti=0;i<items.size();i++){FileItemitem=items.get(i);if(item.isFormField()){//如果是普通表单域Stringusername=item.getString();System.out.println("username:"+username);//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//在此接受普通表单域的值//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}else{//如果是上传文件表单域,将文件保存在服务器端ServletContextsctx=getServletContext();//依据逻辑路径upload返回实际部署时的物理路径Stringpath=sctx.getRealPath("upload");//获得上传文件的名称StringfileName=item.getName();Filefile=newFile(path+"\"+fileName);item.write(file);}}}catch(Exceptione){e.printStackTrace();}}在Servlet中这样处理就行,除了文件上传,其他的表单域在if块中取值!
解决方案十二:
楼主用的什么实现上传的,我以前用过smartUpload,通过smartUpload.getRequest().getParameter("xxx")可以去到参数~~
解决方案十三:
如果写上传下载组件,enctype="multipart/form-data"这种方式数据的传输方式为二进制,一般的FORM表单提交为编码后的字符,所以用request.getParameter()是取不到的。你可以试着用流的方式而接收。
解决方案十四:
引用11楼的回复:

楼主用的什么实现上传的,我以前用过smartUpload,通过smartUpload.getRequest().getParameter("xxx")可以去到参数~~

我也是这么干的
解决方案十五:
这个方案不行就找替代方案呗!不要在一棵树上屌丝了、、、上传的方案有很多的!还是用组件吧!方便点
解决方案:
谢谢大家的帮助!现在问题已经解决了。多谢你们提出的宝贵意见。
解决方案:
楼主怎么解决的啊求告知
解决方案:
不可能的,加了这个没影响的,只是file文件格式变了而已,其他字符量变量照常使用的。

时间: 2024-09-23 20:58:47

如何获得表单中元素的值的相关文章

js表单中选择框值的获取及表单的序列化_javascript技巧

本文特意为js表单中选择框值的获取及表单的序列化做了下总结,写成了一个对象,分享给大家,欢迎大家学习. var formUtil = { // 获取单选按钮的值,如有没有选的话返回null // elements为radio类的集合的引用 getRadioValue:function(elements) { var value = null; // null表示没有选中项 // 非IE浏览器 if(elements.value != undefined && elements.value

Ajax中通过JS代码自动获取表单元素值的示例代码_AJAX相关

我们在使用Ajax的时候,通常需要获取表单元素值,然后发送给后台的服务器端程序处理.如果表单元素不多的情况我们常常会通过GET方式来获取表单元素值,但如果表单元素非常多,此时就需要用POST方式来获取表单元素值,那么如何来获取表单元素值呢?下面给出一段JS代码即可自动获取表单元素的值了. function getFormQueryString(frmID) //frmID是表单的ID号,请在表单form中先命名一个ID号 { var frmID=document.getElementById(f

Ajax中通过JS代码自动获取表单元素值的示例代码

我们在使用Ajax的时候,通常需要获取表单元素值,然后发送给后台的服务器端程序处理.如果表单元素不多的情况我们常常会通过GET方式来获取表单元素值,但如果表单元素非常多,此时就需要用POST方式来获取表单元素值,那么如何来获取表单元素值呢?下面给出一段JS代码即可自动获取表单元素的值了. function getFormQueryString(frmID) //frmID是表单的ID号,请在表单form中先命名一个ID号 { var frmID=document.getElementById(f

jQuery中设置form表单中action值的实现方法_jquery

html代码: <form id="myFormId" name="myForm" action="" method="post"> <input type="hidden" id="inParam" name="inParam" /> <input type="hidden" id="tstype"

表单元素属性readonly和disabled使用对比

表单元素属性readonly和disabled在适应范围.操作.表单提交等等方面都有所不同,至于有哪些不同,感兴趣的朋友可以了解下本文   1)适应范围: readonly:input[type="text"],input[type="password"],input[type="teaxtarea"] disabled:所有的表单元素,如select, radio, checkbox, button等 2)操作: readonly:不允许用户修

php获取表单中多个同名input元素的值

 这篇文章主要介绍了php获取表单中多个同名元素值的方法 ,需要的朋友可以参考下 有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本.    前台页面的表单中会有多个input元素,如下:  代码如下: <form action="a.php">  <input type="text" name="books[]"/>  <input type="text&q

php获取表单中多个同名input元素的值_php技巧

有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本. 前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: <form action="a.php"> <input type="text" name="books[]"/> <input type="text" name="books[]"/> <inp

PHP用正则匹配form表单中所有元素的类型和属性值实例代码

前言 最近工作中遇到一个需求,需要在正则匹配页面中,所有可能存在的 form 表单的元素,可能有 input,action,select,textarea等等所有可能的元素,本文给出一个代码示例.感兴趣的朋友们可以参考学习. 实例代码如下 假设页面 1.html 的网页源代码是: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>一个含有 form 表单

index-lua的元表怎么遍历不到,而且为什么也不能改变表中的元素的值呢,求详解?

问题描述 lua的元表怎么遍历不到,而且为什么也不能改变表中的元素的值呢,求详解? local function tab(t) local proxy = {} local mt = { __index = t, __newindex = function(t, k, v) error("attempt to update readonly a table") end } setmetatable(proxy, mt) return proxy end local days = tab