小弟初次学习Struts标签。对其中的一个标签弄不懂,我郁闷了好久了,这才来找各位帮忙了。
我在做一个有关文件的上传的例子,我想用Struts标签实现,但就是出错,我也不知道怎么办,于是希望大家给我提供一个例子,希望各个配置都要详细点,小弟刚学,很多地方不懂。谢谢了,问题解决一定及时给分!
其实很简单就是在<html:form>中实现<html:file>标签,其余什么都不要!

解决方案 »

  1.   

    就是文件上传。
    STRUTS自己带的例子都有的!
      

  2.   

    http://www.java99.com/?m=ViewExample&id=26
      

  3.   

    E:\jakarta-struts-1.1\jakarta-struts-1.1\webapps
    看到有个upload.war
    不知道楼上说的是不是这个 ?
    这个例子还真是没有看过。。
      

  4.   

    我这里有一个:除了下面的两个页面,当然还要有相应的组件。在工程的\WebRoot\WEB-INF\lib目录下要有smartupload组件。在\WebRoot\WEB-INF\classes夏还有一个文件,你自己找找!
    upload.jsp
    <%@ page language="java" pageEncoding="gb2312"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html lang="true">
      <head>
        <html:base />
        
        <title>MyJsp.jsp</title> <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->  </head>
      
      <body>
        <form  action="getFile.jsp" method="post" enctype="multipart/form-data">
        <tr>
          <td width="14%" height="26">上传附件</td>
          <td width="76%" colspan="3" height="26">
          <input type="file" name="upload"/>
          </td>
          <td>
          <input type="submit" name="submit" value="开始上传">
         </tr>
         </form> 
      </body>
    </html:html>getFile.jsp
    <%@ page contentType="text/html; charset=GBK"%>
    <%@ page import="com.jspsmart.upload.*"%>
    <!--使用jspsmart组件上传文件的示例-->
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body bgcolor="#ffffff">
    <%
    //文件上传最大长度
    final int maxFileSize = 300*1024*1024;
    //上传文件所存放的目录
    final String uploadFullPath = "d:\\upload";
    SmartUpload smartUpload = new SmartUpload();
            
    smartUpload.setMaxFileSize(maxFileSize);
        //初始化smartUpload对象
    smartUpload.initialize(pageContext);
        try {
    //上传文件
    smartUpload.upload();
            //处理每一个文件   
    for (int i = 0; i < smartUpload.getFiles().getCount(); i++) {
    com.jspsmart.upload.File uploadFile =
    smartUpload.getFiles().getFile(i);
    //获得上传的文件名
    String fileName = uploadFile.getFileName();
    out.println("文件"+i+"名称:"+fileName+"<br>");
    fileName = fileName.substring(0, fileName.lastIndexOf("."));
    out.println("不含扩展名的文件"+i+"名称:"+fileName+"<br>");
    String fileExt = uploadFile.getFileExt();
    out.println("文件"+i+"的扩展名:"+fileExt+"<br>");
    //处理存放上传文件的目录
    java.io.File dir = new java.io.File(uploadFullPath);
                if (!dir.exists())  dir.mkdirs();
                //此处可能要处理存放的文件名,比如对同名的处理
    //保存文件
                uploadFile.saveAs(uploadFullPath + java.io.File.separator +
                                      fileName+"."+fileExt,
                                      smartUpload.SAVE_PHYSICAL);
                //上传之后处理业务
                
    }
    } catch (Exception e) {
                //转向出错页面
    out.println("文件上传错误,错误:" + e.getMessage());
        }
            //转向成功页面
        out.println("文件上传成功!");
    %>
    </body>
    </html>
      

  5.   

    那怎么实现文件夹上传哇,选择的是文件夹,而不是FILE标签.
      

  6.   

    文件就是<html:file>喽  文件夹不会