I think that would like to have your class name (Document) here instead of
UploadPage, no?
<td>File Size:</td><td><span jwcid="@Insert" value="ognl:fileSize" format="
ognl:@[EMAIL PROTECTED]"/> bytes</td>
Cheers,
PS
On 3/20/06, Dwi Ardi Irawan <[EMAIL PROTECTED]> wrote:
>
> 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>
>
>