weblogic&jspsmart注意

本文总结了使用jspSmartUpload组件时需要注意的关键事项,包括表单设置、参数获取方式及文件下载时的页面编写技巧。

jspSmartUpload注意点总结
send页面选择文件,recv页面使用SmartUpload进行上传;

   注意点1:send页面中的

    <form name="form1" method="POST" action="upload.jsp" ENCTYPE="multipart/form-data">

       <tr>
           <td width="30%">选择菜单</td>
           <td width="70%">
             <!--form中属性名不能带filename,否则接收页面取不到值,却会取到两个文件,很晕-->
             <select name="selmenu">
                 <option value="1">菜单1</option>
                 <option value="2">菜单2</option>
             </select>
            </td>
       </tr>
       <tr>
             <td width="30%">帮助文件</td>
            <td width="70%">
                <input type="FILE" name="FILE1" size="30">       
            </td>
       </tr>

    </form>

    a.ENCTYPE="multipart/form-data" 此处必须要这样写;

    b.form中属性名不能包含filename,否则接收页面取不到值,却会取到两个文件,很晕!!!

       如以上页面中如果将select控件的名字改为selfilename,则在recv页面中用su.getRequest().getParameter("selfilename")取值时取到的值为null;

       但用su.getFiles()时却取到两个文件;原因不明,可能是内部处理问题;

注意点2:recv页面中取send页面中post传递过来的参数,不能使用request.getParameter(""),使用的话会收到null值,一定要用su.getRequest().getParameter("");

2.使用jspSmartUpload下载时,页面中<%%>之外不能有空格、换行、或其他东西,下面页面1为正确代码,页面2为错误代码:(weblogic下测试,据说Tomcat下都正确,有空再测一下)

页面1:

<%@ page import="java.util.*,com.jspsmart.upload.*,java.io.*" errorPage="" %><%
String filename = request.getParameter("filename");
String path = session.getServletContext().getRealPath("/");
path += "/" + filename;
//新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
//初始化
su.initialize(pageContext);

//设定contentDisposition为null以禁止浏览器自动打开文件
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。扩展名为pdf时,浏览器将用acrobat打开。
su.setContentDisposition(null);

try{
   //下载文件
   su.downloadFile(path);
}catch(FileNotFoundException fe){
   System.out.println("===============文件不存在===============");
   out.println("<script language='javascript'>");
   out.println("alert('文件不存在');");
   out.println("</script>");
}
%>

页面2:

<%@ page import="java.util.*,com.jspsmart.upload.*,java.io.*" errorPage="" %>

<%
String filename = request.getParameter("filename");
String path = session.getServletContext().getRealPath("/");
path += "/" + filename;
//新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
//初始化
su.initialize(pageContext);

//设定contentDisposition为null以禁止浏览器自动打开文件
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。扩展名为pdf时,浏览器将用acrobat打开。
su.setContentDisposition(null);

try{
   //下载文件
   su.downloadFile(path);
}catch(FileNotFoundException fe){
   System.out.println("===============文件不存在===============");
   out.println("<script language='javascript'>");
   out.println("alert('文件不存在');");
   out.println("</script>");
}
%>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值