i'm a newbie
i have tried upload in the tapestry Tapestry Component Reference.
but i've got some error :
org.apache.tapestry.ApplicationRuntimeException
Could not load class UploadPage from [EMAIL
PROTECTED](file:/C:/my%20workspace/eols/webapp/WEB-INF/classes/) --parent-->
[EMAIL PROTECTED]: UploadPage
could anyone help me ?
this is the code :
Documents.java
===============================================================================================
package edu.eols.web.page;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.Format;
import java.text.NumberFormat;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.request.IUploadFile;
public class Documents extends BasePage {
public static final Format SIZE_FORMAT = NumberFormat.getNumberInstance();
private IUploadFile file;
private File serverFile;
public IUploadFile getFile() { return file; }
public void setFile(IUploadFile value) {
file = value;
}
public String getFilename() {
if (file != null) {
return file.getFileName();
} else {
return "";
}
}
public String getClientPath() {
if (file != null) {
return file.getFilePath();
} else {
return "";
}
}
public String getServerPath() {
if (serverFile != null) {
return serverFile.getAbsolutePath();
} else {
return "";
}
}
public long getFileSize() {
if (serverFile != null) {
return serverFile.length();
} else {
return 0;
}
}
public void formSubmit(IRequestCycle cycle) {
InputStream fis = file.getStream();
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(file.getFileName()));
byte[] buffer = new byte[1024];
while (true) {
int length = fis.read(buffer);
if (length < 0) {
break;
}
fos.write(buffer, 0, length);
}
fis.close();
fos.close();
serverFile = new File(file.getFileName());
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
if (fis != null) {
try { fis.close(); } catch (IOException ioe) {}
}
if (fos != null) {
try { fos.close(); } catch (IOException ioe) {}
}
}
}
protected void initialize() {
file = null;
serverFile = null;
}
}
============================================================================
Documents.html
<form jwcid="@Form" listener="ognl:listeners.formSubmit">
<table width="100%" border="0">
<tr>
<td colspan="2">File: <input jwcid="@Upload" file="ognl:file" type=
"file"></input></td>
</tr>
<tr>
<td colspan="2"><input type= "submit"value="Upload"></input></td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td>Filename:</td><td><span jwcid="@Insert" value="ognl:filename"/></td>
</tr>
<tr>
<td>Client path:</td><td><span jwcid="@Insert" value="ognl:clientPath"/></td>
</tr>
<tr>
<td>Server Path:</td><td><span jwcid="@Insert" value="ognl:serverPath"/></td>
</tr>
<tr>
<td>File Size:</td><td><span jwcid="@Insert" value="ognl:fileSize"
format="ognl:@[EMAIL PROTECTED]"/> bytes</td>
</tr>
</table>
</form>
================================================================
Documents.page
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE page-specification PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<!-- generated by Spindle, http://spindle.sourceforge.net -->
<page-specification class="edu.eols.web.page.Documents">
<description>add a description</description>
<context-asset name="home_01" path="/images/home_01.gif"/>
<context-asset name="home_02" path="/images/home_02.gif"/>
<context-asset name="home_03" path="/images/home_03.gif"/>
<context-asset name="home_04" path="/images/home_04.gif"/>
<context-asset name="home_05" path="/images/home_05.gif"/>
<context-asset name="home_06" path="/images/home_06.gif"/>
<context-asset name="home_07" path="/images/home_07.gif"/>
</page-specification>
====================================================================
eosl.application
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<!-- generated by Spindle, http://spindle.sourceforge.net -->
<application name="eols" engine-class="org.apache.tapestry.engine.BaseEngine">
<description>add a description</description>
<page name="Home" specification-path="Documents.page"/>
<extension name="org.apache.tapestry.multipart-decoder"
class="org.apache.tapestry.multipart.DefaultMultipartDecoder">
<configure property-name="maxSize" type="double" value="134217728"/>
</extension>
</application>