I do this all the time without using the ActionForm at all, unfortunately. I don't know if the solutions I use would be helpful, but here is one: I call an action setting up a page for uploads. Then I upload, setting up a listener/monitor in the the Upload object which is buried in the commons multipart handling. Then, on the page where I did the uploads and to which I return, I provide an automatic popup that accesses the monitor with a call back via a regular refresh with a no-cache, etc. and with JavaScript closing the monitor page when done. I also have a button on the same page that will provide a report after the fact of whatever happened and keeps whatever histories are desired, short and long term.
Everything would be easier if I just overrided the RequestUtils, which is the only place where the excitement happens in Struts upload. I have with limited success tried to discuss making these sorts of options available without having to work around the Struts framework without a lot of success, but lately seemingly some success with Niall and Martin. There really is nothing to modifying the upload application to allow other optiosn besides the default upload application. I have just wanted to stay with the regular Struts framework so far as is possible. No real luck so far. Lots of grief! LOL ///;-) Here is the JavaScript function: <script Language="JavaScript"> <!-- function popup(url, name, width, height) { settings= "toolbar=no," + "location=yes," + "directories=no," + "status=no," + "menubar=no," + "scrollbars=yes,"+ "resizable=yes," + "width="+ width + "," + "height=" + height; Information=window.open(url,name,settings); } //--> </script> If this interests you, I would be happy to show you more code. Heck, here is some more if you are somewhat interested. <%@ page language='java' %> <%@ page errorPage="upload_exception.jsp" %> <%@ page import='java.util.*' %> <%@ page import='com.crackwillow.state.StateContainer' %> <%@ taglib uri='jstl-core' prefix='c' %> <%@ taglib uri='struts-bean' prefix='bean' %> <%@ taglib uri='struts-html' prefix='html' %> <%@ taglib uri='struts-tiles' prefix='tiles' %> <%@ taglib uri='crackwillow' prefix='crackwillow' %> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> </head> <body bgcolor='<c:out value="${state.banMddlBgClr}"/>'> <script type='text/javascript'> function openMonitor() { if (document.realForm.uploadedFile1.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile2.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile3.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile4.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile5.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile6.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile7.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile8.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile9.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile10.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile11.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else if (document.realForm.uploadedFile12.value.length > 0) { window.open('monitor.jsp?nocache=<%= System.currentTimeMillis() %>','UploadStatus','scrollbars=no,status=no,width=300,height=200'); document.realForm.submit(); } else { alert("Select a file to attach"); } } function fillFacadeForm1() { document.forms['facadeForm'].myFileText1.value= document.forms['realForm'].uploadedFile1.value; } function fillFacadeForm2() { document.forms['facadeForm'].myFileText2.value= document.forms['realForm'].uploadedFile2.value; } function fillFacadeForm3() { document.forms['facadeForm'].myFileText3.value= document.forms['realForm'].uploadedFile3.value; } function fillFacadeForm4() { document.forms['facadeForm'].myFileText4.value= document.forms['realForm'].uploadedFile4.value; } function fillFacadeForm5() { document.forms['facadeForm'].myFileText5.value= document.forms['realForm'].uploadedFile5.value; } function fillFacadeForm6() { document.forms['facadeForm'].myFileText6.value= document.forms['realForm'].uploadedFile6.value; } function fillFacadeForm7() { document.forms['facadeForm'].myFileText7.value= document.forms['realForm'].uploadedFile7.value; } function fillFacadeForm8() { document.forms['facadeForm'].myFileText8.value= document.forms['realForm'].uploadedFile8.value; } function fillFacadeForm9() { document.forms['facadeForm'].myFileText9.value= document.forms['realForm'].uploadedFile9.value; } function fillFacadeForm10() { document.forms['facadeForm'].myFileText10.value= document.forms['realForm'].uploadedFile10.value; } function fillFacadeForm11() { document.forms['facadeForm'].myFileText11.value= document.forms['realForm'].uploadedFile11.value; } function fillFacadeForm12() { document.forms['facadeForm'].myFileText12.value= document.forms['realForm'].uploadedFile12.value; } function reset() { document.forms['realForm'].reset(); document.forms['facadeForm'].reset(); } </script> <style type='text/css'> .fileUpload { -moz-opacity:0 ; filter:alpha(opacity: 0); -khtml-opacity: 0; } </style> <span style='position: absolute; top: 30px; left: 200px;z-index: 1;'> <form name='realForm' action='/uploader.CRACKWILLOW' method='post' target='_top' enctype='multipart/form-data'> <input type='file' class='fileUpload' name='uploadedFile1' onkeyup='fillFacadeForm1();' onmouseout='fillFacadeForm1();'> <input type='file' class='fileUpload' name='uploadedFile2' onkeyup='fillFacadeForm2();' onmouseout='fillFacadeForm2();'> <input type='file' class='fileUpload' name='uploadedFile3' onkeyup='fillFacadeForm3();' onmouseout='fillFacadeForm3();'><br> <input type='file' class='fileUpload' name='uploadedFile4' onkeyup='fillFacadeForm4();' onmouseout='fillFacadeForm4();'> <input type='file' class='fileUpload' name='uploadedFile5' onkeyup='fillFacadeForm5();' onmouseout='fillFacadeForm5();'> <input type='file' class='fileUpload' name='uploadedFile6' onkeyup='fillFacadeForm6();' onmouseout='fillFacadeForm6();'><br> <input type='file' class='fileUpload' name='uploadedFile7' onkeyup='fillFacadeForm7();' onmouseout='fillFacadeForm7();'> <input type='file' class='fileUpload' name='uploadedFile8' onkeyup='fillFacadeForm8();' onmouseout='fillFacadeForm8();'> <input type='file' class='fileUpload' name='uploadedFile9' onkeyup='fillFacadeForm9();' onmouseout='fillFacadeForm9();'><br> <input type='file' class='fileUpload' name='uploadedFile10' onkeyup='fillFacadeForm10();' onmouseout='fillFacadeForm10();'> <input type='file' class='fileUpload' name='uploadedFile11' onkeyup='fillFacadeForm11();' onmouseout='fillFacadeForm11();'> <input type='file' class='fileUpload' name='uploadedFile12' onkeyup='fillFacadeForm12();' onmouseout='fillFacadeForm12();'><br><br> <img src='resource.CRACKWILLOW?file=clear.gif' width='50' height='1'> <crackwillow:image button='Upload.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Tork Bold' italic='false' bold='true' size='25' onclick='openMonitor()' property='upload.method'/> <html:img src='resource.CRACKWILLOW?file=clear.gif' width='30' border='0'/> <crackwillow:image button='Reset.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Tork Bold' italic='false' onclick='reset()' bold='true' size='25' property='reset.method'/> <html:img src='resource.CRACKWILLOW?file=clear.gif' width='30' border='0'/> <crackwillow:image button='Delete_Uploaded_Files.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Tork Bold' italic='false' bold='true' size='25' property='deleteRepository.method'/> </form> </span> <span style='position: absolute; top: 30px; left: 200px; z-index: 0;'> <form name='facadeForm'> <input type='text' name='myFileText1'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText2'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText3'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/><br> <input type='text' name='myFileText4'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText5'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText6'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/><br> <input type='text' name='myFileText7'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText8'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText9'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/><br> <input type='text' name='myFileText10'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText11'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/> <input type='text' name='myFileText12'> <crackwillow:img button='browse.gif' plain='false' mapBean='state' bgClrCode='banMddlBgClr' txtClrCode='banLftTxtClr' font='Bookman Old Style' italic='false' bold='true' size='15'/><br><br><br> </form> </span> </body> </html> Jack On Mon, 28 Feb 2005 23:40:39 -0500, Frank W. Zammetti <[EMAIL PROTECTED]> wrote: > It is of course possible to turn of form validation on a per-mapping > basis... Is it possible to turn off auto-population? > > It's never come up for me before a few minutes ago... I'm doing a file > upload project, and when I upload the files I'd like an ActionForm to be > created but NOT populated with anything... I want to use it simply to > return some status information back to the view. I can think of about 5 > other ways to accomplish this, but simply turning off auto-population > would be the easiest. > > I don't see a way to do it... am I missing something? Thanks! > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]