0
我一直在嘗試完成這項任務,但無法成功。我可以上傳可以存儲在「C:\ apache-tomcat-6.0.33 \ work」中的文件,但是我不知道如何在數據庫中存儲路徑。這是我的代碼。如何上傳文件並使用struts2存儲數據庫中的路徑
package com.rajesh.action;
import java.io.File;
import org.apache.commons.io.FileUtils;
import java.io.IOException;
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:/apache-tomcat-7.0.37/upload";
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上傳文件。
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2 - Login Application | ViralPatel.net</title>
</head>
<body>
<h2>Struts 2 - Login Application</h2>
<s:actionerror />
<s:form action="login" method="post">
<s:textfield name="username" key="label.username" size="20" />
<s:password name="password" key="label.password" size="20" />
<s:submit method="execute" key="label.login" align="center" />
</s:form>
</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.multipart.maxSize" value="1000000" />
<constant name="struts.devMode" value="false" />
<constant name="struts.custom.i18n.resources"
value="ApplicationResources" />
<package name="default" extends="struts-default" namespace="/">
<action name="login" class="com.rajesh.action.LoginAction">
<result name="success">admin.jsp</result>
<result name="error">loginstruts.jsp</result>
</action>
<action name="upload" class="com.rajesh.action.UploadFile">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
請幫我,我是新Struts2的這個,任何幫助,將不勝感激。
你在dao圖層中使用了哪個框架?休眠或JPA – 2013-03-18 10:58:39
我使用jdbc,我沒有使用任何休眠或JPA。該動作由struts2控制。 – 2013-03-18 11:36:08
@RajeshAcharya那麼,你想如何使用JDBC的動作是由struts2控制的? – 2013-03-18 15:07:48