Hello, everybody, I do not understand the XSP upload example. Yes, it works fine, but I would like to understand as much as possible. I guess their is some "magic" behind the scene.
I did some reading of the API Javadoc, but I'am still not experienced enough reading source code. What to do? Should I give up learning Cocoon :-( The example XSP-Source follows. I added comments about what I don't understand. <?xml version="1.0" encoding="ISO-8859-1"?> <!-- CVS: $Id: upload.xsp,v 1.3 2002/02/09 06:21:57 vgritsenko Exp $ --> <!-- QUESTION: the namespace declarations for request, response and log are not used and could be omitted? Is this correct? --> <xsp:page language="java" xmlns:xsp="http://apache.org/xsp" xmlns:xsp-request="http://apache.org/xsp/request/2.0" xmlns:xsp-response="http://apache.org/xsp/response/2.0" xmlns:log="http://apache.org/xsp/log/2.0"> <xsp:structure> <!-- QUESTION: Same with the XSPUtil import. Am I right? --> <xsp:include>org.apache.cocoon.components.language.markup.xsp.XSPUtil</xsp:i nclude> <xsp:include>org.apache.avalon.framework.context.ContextException</xsp:inclu de> </xsp:structure> <!-- QUESTIONS: I do not understand this part. Who calls conceptualize? Where does context (org.apache.cocoon.generation.ServletGenerator.context?) come from? And the get method of context? Their must be some "build in" upload functionality, please explain if You are patient enough. --> <xsp:logic> File uploadDir = null; /** Contextualize this class */ public void contextualize(Context context) throws ContextException { uploadDir = (File) context.get(Constants.CONTEXT_UPLOAD_DIR); } </xsp:logic> <page> <title>This form allows you upload files</title> <content> <para> <form method="post" enctype="multipart/form-data" action="upload.xsp"> File: <input type="file" name="uploaded_file" size="50" /> <p><input type="submit" value="Upload File" /></p> </form> </para> <para> <ul> <xsp:logic> getLogger().debug("Dir=" + uploadDir); String[] filelist = uploadDir.list(); <![CDATA[ getLogger().debug("List=" + filelist.length); for (int i = 0; i < filelist.length; i++) { getLogger().debug("File [" + i + "]=" + filelist[i]); ]]> <li> <xsp:expr>filelist[i]</xsp:expr> </li> <![CDATA[ } ]]> </xsp:logic> </ul> </para> <para>Brought to you by Cocoon at <xsp:expr>new Date()</xsp:expr>.</para> </content> </page> </xsp:page> Thank You. Regards Stefan -- Stefan Riegel --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>