xusong123 2008-08-15 18:58
浏览 255
已采纳

jsp怎么调用Servlet的参数 应该是很简单的问题!

我想实现一个upload.jsp上传的页面。在upload.jsp页面中点击上传后,转到showFileName.jsp页面。在showFileName.jsp页面中显示上传文件的名字及上传的时间。
现在我不知道怎么把FileUpload.java 中得到的name 传给showFileName.jsp页面。请专家指教
代码如下:
package com.searchforyou.upload;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;

/**

  • Servlet implementation class for Servlet: FileUpload
  • */
    public class FileUpload extends javax.servlet.http.HttpServlet implements
    javax.servlet.Servlet {
    private HttpServletRequest req;
    private HttpServletRequest resp;

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    PrintWriter out = resp.getWriter();
    resp.setContentType("text/html;charset=gb2312");

    final String HOMELINK = "<a href=\"http://localhost:8080/SearchForYou/pages/showFileAddContent.jsp\">hhhhh</a><br/>";
    
    boolean isMultipart = ServletFileUpload
            .isMultipartContent(new ServletRequestContext(req));
    String uploadPath = "";
    String newFileName = "";
    File writeFile = null;
    
    if (isMultipart) {
        try {
            uploadPath = "D:\\Tomcat 5.5\\webapps\\resources";              
            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setSizeThreshold(1000000);
            factory.setRepository(new File(uploadPath));
    
            ServletFileUpload upload = new ServletFileUpload(factory);
    
            List items = upload.parseRequest(req);
            Iterator iter = items.iterator();
            while (iter.hasNext()) {
                FileItem item = (FileItem) iter.next();
    
                if (!item.isFormField()) {
                    [color=red]String name = item.getName().replaceAll(".+\\\\", "");//得到文件的名字,把它传给showFileName.jsp[/color]                     
                    //System.out.print(name);
                    //String type = item.getFieldName();
                    String type = item.getContentType();
    
                    System.out.print(type);
                    long size = item.getSize();
                    if ((name == null || name.equals("")) && size == 0) {
                        continue;
                    }
                    SimpleDateFormat fmt = new SimpleDateFormat(
                            "yyyyMMddhhmmssSSS");
                    newFileName = fmt.format(new Date()) + "_" + name;
                    writeFile = new File(uploadPath, newFileName);
                    item.write(writeFile);
                    //set.attribute(name);
                    out.println(HOMELINK + "上传成功");
                    //out.println(type);                                              
                    out.println(name);
                }
            }
        } catch (FileUploadException e) {
            out.println(HOMELINK + e.toString());               
        } catch (FileNotFoundException e) {
            out.println(HOMELINK + e.toString());               
        } catch (IOException e) {
            out.println(HOMELINK + e.toString());
        } catch (Exception e) {
            out.println(HOMELINK + e.toString());
        }
    
    }
    

    }

    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    doGet(req, resp);
    }
    }

下面howFileName.jsp部分内容 ,[color=red] value="" 里面显示 FileUpload.java 中name的值(上面红色部分)。[/color]



添加内容信息



<!-- id的表单域 -->

ID:

  • 写回答

1条回答 默认 最新

  • piccbj 2008-08-15 19:38
    关注

    在FileUpload 中
    [code="java"]
    String name = item.getName().replaceAll(".+\\", "");//得到文件的名字,把它传给showFileName.jsp

    [/code]
    之后
    [code="java"]
    req.setAttribute("name", name);
    [/code]
    然后在howFileName.jsp中
    [code="java"]
    value="<%=(String)request.getAttribute("name")%>"
    [/code]

    大致就是这样的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c