hi robert, i try it out with the upload container but without success. if i use a container, that holds a simple java object like string, double,etc all is fine but if i use an UploadedFile object or somethin simelar, the value is always null after the first submit
have you a small sample for suggestion ? 2008/6/10 Robert Zeigler <[EMAIL PROTECTED]> > Couldn't you use a list of "placeholders"/wrappers? > This is what I've done in the past in similar sorts of scenarios, although > it wasn't ajax-based. > I created a list of "UploadContainers". This ended up being useful because > then I could associate other sorts of values to each upload row (extract > archives, create xyz, and so forth), and they would all be "nicely" > associated. So then you don't have to worry about not having an upload file, > b/c you can easily create your container, and bind the file upload > component's value to the UploadContainer's "file" property. > > Robert > > > On Jun 10, 2008, at 6/1011:28 AM , Ognen Ivanovski wrote: > > Hi all, >> >> I'm trying to write a page that mimics an email composition form. On >> this form the user should be allowed to add any number of attachments >> (files). >> >> My idea is to use an AjaxFormLoop and a file upload component inside. The >> problem is - I can't. >> >> The loop needs an iterable to work over - ok - that is a list of >> UploadedFiles. But, the 'addRow' event says it needs to return a non-null >> value so that the loop can correctly use it. But - i don't have an uploaded >> file yet - i just want a new Upload component to render itself. >> >> Second problem - how would I process the files at the end? >> >> My code - so far: >> >> public class Test { >> >> >> @Property private List<UploadedFile> files = new >> ArrayList<UploadedFile>(); >> >> @Property private UploadedFile currentValue; >> >> >> @Property private DefaultPrimaryKeyEncoder<Integer, UploadedFile> encoder >> = new DefaultPrimaryKeyEncoder<Integer, UploadedFile>(); >> >> @InjectComponent private Block newFileBlock; >> >> public int getNumOfFiles() { >> return files.size(); >> } >> >> public void onSubmit() { >> // what do i do here? >> } >> >> public Block onAddRow() { >> return null; // what do i do here? this causes illegal state excepton >> } >> } >> >> Test.tml: >> >> <t:form> >> <t:ajaxformloop source="files" value="currentValue" encoder="encoder"> >> <t:submitnotifier> >> <t:upload t:id="currentValue" value="currentValue" /> >> <t:removerowlink>remove</t:removerowlink> >> </t:submitnotifier> >> <t:parameter name="addRow"> >> <t:addrowlink>Add a row</t:addrowlink> >> </t:parameter> >> </t:ajaxformloop> >> >> <div class="t-beaneditor-row"> >> <input type="submit" value="Submit"/> >> </div> >> >> </t:form> >> >> <p>Number of strings (after submit): ${numOfFiles}</p> >> >> <t:grid source="files"/> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- with regards Sven Homburg http://www.chenillekit.org http://tapestry5-components.googlecode.com