gpt4 book ai didi

java - 在 Struts 2 的同一页面上上传文件详细信息

转载 作者:行者123 更新时间:2023-11-30 09:26:42 26 4
gpt4 key购买 nike

我可以使用 struts2 上传文件。 但我想在 struts 2 中显示有关上传文件的详细信息(Filenamefilesizefiletype)。

我正在尝试使用 <s:property value="myFile" /> 获取详细信息标签,但始终显示 [Object HTMLDocument]。

我的代码如下。

uploadfile.jsp :

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">

</head>
<body>
<div id="success-image">
<s:property value="myFile" />
<s:head theme="ajax" />
<s:form id="asset-upload" name="asset-upload" action="uploadFile.action" method="POST" theme="ajax" enctype="multipart/form-data">
<s:file name="myFile" label="Upload Image"/>
<s:submit targets="success-image" showLoadingText="false" indicator="uploading-image" id="asdf"/>
</s:form>
</div>
</body>
</html>

struts.xml :

    <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<constant name="struts.multipart.maxSize" value="1000000000" />

<package name="default" extends="struts-default,json-default" namespace="/">
<action name="uploadFile" class="com.isam.struts.uploadFile">
<result name="success">
<param name="myFile">myFile</param>
</result>
<result name="error">login.jsp</result>
</action>

<action name="autoCompleterList" class="com.isam.struts.AutoCompleterList">
<result type="json" />
</action>
</package>
</struts>

UploadFile.java :

        package com.isam.struts;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

import com.opensymphony.xwork2.ActionSupport;

public class uploadFile extends ActionSupport {

private File myFile;
private String myFileContentType;
private String myFileFileName;
private String destPath;


public String execute() {
/* Copy file to a safe location */
destPath = "C:/temp/";

try {
System.out.println("Src File name: " + myFile);
System.out.println("Dst File name: " + myFileFileName);

File destFile = new File(destPath, myFileFileName);
FileUtils.copyFile(myFile, destFile);

} catch (IOException e) {
e.printStackTrace();
return ERROR;
}

return SUCCESS;
}

public File getMyFile() {
return myFile;
}

public void setMyFile(File myFile) {
this.myFile = myFile;
}

public String getMyFileContentType() {
return myFileContentType;
}

public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}

public String getMyFileFileName() {
return myFileFileName;
}

public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}

}

所以我需要在 jsp 文件中添加什么来显示详细信息,以及我需要在 struts.xml 中添加的内容文件

最佳答案

要在上传文件后在同一页面上显示文件详细信息,请将您的操作结果更改为:

<action name="uploadFile" class="com.isam.struts.uploadFile">
<result name="success">uploadfile.jsp</result>
<result name="error">login.jsp</result>
</action>

在 JSP 中使用 <s:property>显示值的标签:

<s:property value="myFile.length()"/>
<s:property value="myFileContentType"/>
<s:property value="myFileFileName"/>

关于java - 在 Struts 2 的同一页面上上传文件详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14890193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com