java - struts2中的文件上传

标签 java html jsp file-upload struts2

我正在尝试使用 struts2 上传文件。

在jsp 页面中有一个用于上传文件的按钮和一个提交 按钮。程序中没有显示错误消息,但是当我单击 Submit 按钮时没有任何反应。请参阅下面的代码:

Action 类

package com.scrolls.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.io.File;
import java.util.Map;
import org.apache.commons.io.FileUtils;

public class UploadAction extends ActionSupport {

  private File upload;
  private String uploadContentType;
  private String uploadFileName;

  public String fileUpload() {
      try {
          String fullFileName = "c:/sample/mystruts/myfile.txt";
          File theFile = new File(fullFileName);
          FileUtils.copyFile(upload, theFile);
      } catch (Exception e) {
          System.out.println(e.toString());
          return ERROR;
      }

      return SUCCESS;
  }

  // Plus public getters/setters for upload properties.
}

JSP

<%@taglib uri="/struts-tags" prefix="s" %>
<html>
    <head>
        <s:head theme="ajax" />
    </head>

    <body>
        <s:form action="doUpload.action" enctype="multipart/form-data"/>
        <s:datetimepicker name="date" displayFormat="yyyy-MM-dd" />
        <s:file name="upload" />
        <s:submit value="submit"/>
    </body>
</html>

Struts 配置

<struts>
  <package name="register3" extends="struts-default">
    <action name="doUpload" class="com.scrolls.action.UploadAction" method="fileUpload">
      <result name="success">/suc.jsp</result>
      <result name="error">/fail.jsp</result>
    </action>
  </package>
</struts>

最佳答案

你有一个自动关闭的表单...

像这样尝试:

<s:form action="doUpload.action" 
        method="POST" 
        enctype="multipart/form-data" >
    <s:datetimepicker label="Select Date" 
                     name="date" 
                     displayFormat="yyyy-MM-dd"  
                     required="true" />
    <s:file label="File:" name="upload" />
    <s:submit value="submit" />
</s:form>

感谢 Anu 的更正,+1...

关于java - struts2中的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13084081/

相关文章:

java - 如何创建自定义二进制协议(protocol)服务器?

java - 执行多个 if else 语句的更有效方法

html - <br> 标签对 chrome 没有影响

java - Tomcat 在尝试登录时给出 HTTP 状态 404

java - 如何通过 session 检查新用户的 servlet?

java - 如何在 Spring 中初始化或配置单例/工厂方法?

java - 将 Azure 服务总线与 Spring Boot 集成

javascript - 如果 div 元素为空则隐藏它 (ASP.NET MVC)

javascript - CKEditor 不显示图像数据

java - 如何在 Struts 2 中使用 ModelDriven 提供两种形式