博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

IT民工窝棚

有意思的事很多,有多少有意义的呢?
   qbq.cublog.cn
关于作者  
姓名:QBQ
职业:PG
年龄:25
位置:DL
个性介绍:有意思的事很多,有多少有意义的呢?

我的分类  




JSP SMARTUPLOAD组件:上传文件时同时获取表单参数

用jspsmartupload上传文件,但是发现一个问题,用request.getParameter("name") 不能获得表单的数据,最后终于解决,留篇文章。
 

原因很简单: 注意更改from 属性啊!否则为null!

因为你用jspsmartuploadsmart时post请求 的格式是multipart/form-data,即enctype="multipart/form-data" ,这和默认form提交是不同的
不同主要体现在:传送到服务器端的数据组织格式不同,就是说协议不一样(在3W官网上能找到相关格式说明文件)。 而现在的WEB容器对HttpServletRequest 方法getParameter(str)的实现都是按照默认协议。这也就难怪直接用request.getParameter()取到的值为null了。

解决方法是:

用smartupload里已经提供了专门的方法,
不能用普通的request.getParameter()
而要用upload.getRequest()就可以使用了

例子:

SmartUpload su = new SmartUpload();
 // 上传初始化

 su.initialize(pageContext);
 // 设定上传限制

 // 1.限制每个上传文件的最大长度。

 // su.setMaxFileSize(10000);

 // 2.限制总上传数据的长度。

 // su.setTotalMaxFileSize(20000);

 // 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。

 //su.setAllowedFilesList("xml");

 // 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。

 // su.setDeniedFilesList("exe,bat,jsp,htm,html,,");

 // 上传文件

  su.upload();

String softname=su.getRequest().getParameter("softname");

注意:一定要在su.upload();,之后取得!!

 发表于: 2008-04-08,修改于: 2008-04-08 10:20 已浏览119次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.02636

京ICP证041476号