用jspsmartupload取不到提交后的表单数据
我在前面看到有问这个问题的,不过具体怎么做没说清楚。这里再问一下各位高手。急着做项目,这里先谢谢了!
代码太长,我把有用的写下来。这是upload.html
<form enctype="multipart/form-data" method="post" action="repare_upload.jsp">
......
<td><input type="file" name="file1"></td>
<select name="select1">
<option value="" selected>请选择文件类别</option>
<option value="study">学习</option>
<option value="life">生活</option>
<option value="play">娱乐</option> </select>
<select name="select2">
<option value="" selected>请选择文件类型</option>
<option value="doc">.doc</option>
<option value="txt">.txt</option>
</select>
<td><input type="submit" name="Submit" value="上传">
<input type="reset" name="reset1" value="重置"></td></form>
这是repare_upload.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" language="java" session="true"%>
<%@ page import="com.jspsmart.upload.*" %>
<jsp:useBean id="sqlbean" scope="page" class="sqlconn.dbconn"/>
com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
int counts=0;
String sort=(String)request.getParameter("select1");
String sorts="";
out.println(sort); %>
<%if(sort==("study")){
sorts="1";}
else if ("life".equals(sort)){
sorts="2";}
else {
sorts="3";}
out.println(sorts);
%>
//初始化
mySmartUpload.initialize(pageContext);
//设置上载的最大值
mySmartUpload.setMaxFileSize(500 * 1024*1024);
//上载文件
mySmartUpload.upload();%>
<%//取得上载的文件
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);%>
<%if (myFile.isMissing())out.println("你没有上传资料");
......
下面用 out.println输出上面表格的内容就传不上来了
错误就出在这里。
可请高手们说的详细一下,是如何想到的,是怎默找到答案的。小弟不胜感激
问题点数:50、回复次数:2Top
1 楼zyhowe(★☆偶然的天空☆★)回复于 2005-07-24 00:13:38 得分 15
try {
SmartUpload mySmartUpload=new SmartUpload();
mySmartUpload.initialize(pageContext);
mySmartUpload.upload();
String currentPath=mySmartUpload.getRequest().getParameter("currentPath");
int count= mySmartUpload.save(currentPath);
out.println("<script language=javascript>");
out.println("alert('"+count + "个文件上传成功.请返回');");
out.println("location.href=\"index.jsp?currentPath="+currentPath+"\";");
out.println("</script>");
}catch (Exception e) {
out.println("<script language=javascript>");
out.println("alert(\""+e.toString()+"\");");
out.println("history.go(-1);");
out.println("</script>");
}Top
2 楼lbhwwj(小凌)回复于 2005-07-24 10:43:04 得分 35
这个问题很好解决,你把smartupload的使用方法再看看,在接收页面中,不能在使用JSP中的request方法,要用smartupload中提供的request的方法来接收表格内的内容。
Request类
这个类的功能等同于JSP内置的对象request。只所以提供这个类,是因为对于文件上传表单,通过request对象无法获得表单项的值,必须通过jspSmartUpload组件提供的Request对象来获取。该类提供如下方法:
1、getParameter
作用:获取指定参数之值。当参数不存在时,返回值为null。
原型:public String getParameter(String name)。其中,name为参数的名字。
实例:<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
com.jspsmart.upload.Request myrequest=mySmartUpload.getRequest();
%>
然后再用myrequest.getParameter()代替request.getParameter()
就OK了
Top




