想获得select下拉框中选中的值,通过form提交到servlet中后无法获得,怎么回事?
例如:
在页面上定义了
<select name="xx">
<option value='aaa'>aaa</option>
<option value='bbb'>bbb</option>
</select>
通过form确认已经提交到了servlet中,再通过request.getParamter("xx")却为null!无法获得!
这到底怎么回事?!
顺便说一下,我的表单还有是用来上传文件的,form中有file,难道有问题吗?如果有,怎样解决?
例如:
在页面上定义了
<select name="xx">
<option value='aaa'>aaa</option>
<option value='bbb'>bbb</option>
</select>
通过form确认已经提交到了servlet中,再通过request.getParamter("xx")却为null!无法获得!
这到底怎么回事?!
顺便说一下,我的表单还有是用来上传文件的,form中有file,难道有问题吗?如果有,怎样解决?
解决方案 »
- oracle数据库Date类型(急)
- 请问SMTP服务器之间发送邮件是通过什么方式进行认证的
- Eclipse Helios Release 相关插件
- jfreechart 3D饼图如何调整厚度
- 客户端调用webservice时报错,但在IE里可访问WSDL XML文件
- 做一个J2EE框架的调查?
- 提问关于jTable,DefaultTableModel的用法~~
- 请问一个关于jdbc连接网络数据库的问题
- tomcat怎样设置才能使提交表单后进入程序?
- jbuilder 的注册问题
- Hibernate 调用存储过程规范问题【急】
- 输入http://localhost:8080就能访问项目了,这是怎么回事?
是不是因为我的这个form是用来上传文件的这么做就有问题了吗?!
<form action="../fileupload" method="post" enctype="multipart/form-data" name="fileuploadForm" target="_self">
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="120" bgcolor="#FFFFFF"> <div align="right" ><font color="0B188E">选择导入设备:</font></div></td>
<td>
<select name="deviceName" id="deviceName" onChange="">
<%for(int i=0;i<list.size();i++){ %>
<option value='<%=list.get(i)[0] %>'><%=list.get(i)[0] %></option>
<%} %>
</select>
</td>
</tr>
<tr>
<td width="120" bgcolor="#FFFFFF"> <div align="right" ><font color="0B188E">选择导入文件:</font></div></td>
<td><input type="file" name="file"></td>
</tr>
<tr>
<td align="left"> <input type="submit" name="submit" value="确定"></td>
</tr>
</table>
</form>
<form action="../fileupload" method="post" enctype="multipart/form-data" name="fileuploadForm" target="_self">
因为你提交的编码已经变成了enctype="multipart/form-data",这样就没办法用text/html提交数据,所以你get到的为空。
所以如果你要提交其他内容,要采用其他办法。不能用一个表单提交。
如果用的是其它框架,应该也有二进制上传的解决方案,如果你用的是纯jsp或servlet,那就找个第三方上传组件吧,因为让你从二进制流中解析出你要的下拉框的值实在难为你了.
ServletFileUpload upload = new ServletFileUpload(factory);// 解析request,将表单提交的元素放入List
List /* FileItem */ items = upload.parseRequest(request
//遍历List里的第一项,item可能有两种,一种是FormField,你所说的select当然属性FormField,另一种是非FormField,也就是上传的文件
Iterator iter = items.iterator();
while (iter.hasNext()) {
...
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
...
}
if (!item.isFormField()) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
...
}
...
}
...
可以用javazoom.upload.MultipartFormDataRequest,直接获取
试试看