Re: [Wicket-user] Letting users download flat file
ResourceStreamRequestTarget implements IRequestTarget -- are you suggesting that instead of instantiating an anonymous class that implements IRequestTarget that I construct an instance of ResourceStreamRequestTarget? If so, its constructor requires an implementation of IResourceStream and a string that contains the responseType. I suppose I could use text/plain as the responseType, but where do I get the implementation of IResourceStream? (That interface has a whole bunch of methods to implement.) From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Johan Compagner Sent: Thursday, January 04, 2007 3:59 AM To: wicket-user@lists.sourceforge.net Subject: Re: [Wicket-user] Letting users download flat file you can use the ResourceStreamRequestTarget for that now and use setFileName() for setting the filename. johan On 1/4/07, Frank Silbermann [EMAIL PROTECTED] wrote: I am trying to make a button responde by downloading text to the user which is saved as a .txt file. Igor suggested I look at DownloadLink, which downloads a file when clicked. The code of DownloadLink does not seem to set the content type; does the system make an assumption based on the file's suffix? Trying to adapt the code in DownloadLink, I came up with the following event for my Button subclass: public void onClick() { getRequestCycle().setRequestTarget( new IRequestTarget() { public void detach(RequestCycle requestCycle) {} public Object getLock(RequestCycle requestCycle) { return null; } public void respond(RequestCycle requestCycle) { WebResponse r = (WebResponse)requestCycle.getResponse(); r.setAttachmentHeader(myFilename.txt); r.setContentType( text/plain; name=myFileName.txt ); PrintStream printStream = new PrintStream(r.getOutputStream()); printStream.println(Line 1); printStream.println(Line 2);} } ); } I expect that when I run it and click the button, the browser should pop-up a box asking me if I wish to save file myFileName.txt -- a file that should contain two lines of text. But when I run it and click my button, it goes back to the server, but then nothing happens --the browser does not prompt me to save anything. Do you see anything wrong with what I've done? From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Igor Vaynberg Sent: Wednesday, January 03, 2007 11:35 AM To: wicket-user@lists.sourceforge.net Subject: Re: [Wicket-user] Letting users download flat file the proper approach is to push a new request target into the request cycle, see DownloadLink -igor On 1/3/07, Frank Silbermann [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: In my project, I have a button that lets the user download the contents of a datatable in a form that MSExcel can interpret: Button button = new Button(excelExport) { protected void onSubmit() { getRequestCycle().setRequestTarget(new ComponentRequestTarget(dataTable)); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( excel/ms-excel; name=myFilename.xls ); wr.setHeader(content-disposition, attachment;filename=myFilename.xls); } }; Suppose I want the button to download a text file containing some arbitrary text (not necessarily the contents of a DataTable). Would I do something like this? Button button = new Button(textfileExport) { protected void onSubmit() { StringResponse response = new StringResponse(); response.write( Whatever I want contained in the output text file... ); getRequestCycle().setResponse(response); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( text/plain; name=myFilename.txt ); wr.setHeader(content-disposition, attachment;filename=myFilename.txt); } }; If not, what is the proper approach? - Take Surveys. Earn Cash. Influence the Future of IT Join
Re: [Wicket-user] Letting users download flat file
An text IResourceStream: StringBufferResourceStream and i was looking ath the current 1.x svn and in that release the constructor with the responseType is already depricated and i think also setFilename isn't there yet. johan On 1/4/07, Frank Silbermann [EMAIL PROTECTED] wrote: ResourceStreamRequestTarget implements IRequestTarget -- are you suggesting that instead of instantiating an anonymous class that implements IRequestTarget that I construct an instance of ResourceStreamRequestTarget? If so, its constructor requires an implementation of IResourceStream and a string that contains the responseType. I suppose I could use text/plain as the responseType, but where do I get the implementation of IResourceStream? (That interface has a whole bunch of methods to implement.) -- *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *On Behalf Of *Johan Compagner *Sent:* Thursday, January 04, 2007 3:59 AM *To:* wicket-user@lists.sourceforge.net *Subject:* Re: [Wicket-user] Letting users download flat file you can use the ResourceStreamRequestTarget for that now and use setFileName() for setting the filename. johan On 1/4/07, Frank Silbermann [EMAIL PROTECTED] wrote: I am trying to make a button responde by downloading text to the user which is saved as a .txt file. Igor suggested I look at DownloadLink, which downloads a file when clicked. The code of DownloadLink does not seem to set the content type; does the system make an assumption based on the file's suffix? Trying to adapt the code in DownloadLink, I came up with the following event for my Button subclass: public void onClick() { getRequestCycle().setRequestTarget( new IRequestTarget() { public void detach(RequestCycle requestCycle) {} public Object getLock(RequestCycle requestCycle) { return null; } public void respond(RequestCycle requestCycle) { WebResponse r = (WebResponse)requestCycle.getResponse(); r.setAttachmentHeader(myFilename.txt); r.setContentType( text/plain; name=myFileName.txt ); PrintStream printStream = new PrintStream(r.getOutputStream ()); printStream.println(Line 1); printStream.println(Line 2);} } ); } I expect that when I run it and click the button, the browser should pop-up a box asking me if I wish to save file myFileName.txt -- a file that should contain two lines of text. But when I run it and click my button, it goes back to the server, but then nothing happens --the browser does not prompt me to save anything. Do you see anything wrong with what I've done? -- *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *On Behalf Of *Igor Vaynberg *Sent:* Wednesday, January 03, 2007 11:35 AM *To:* wicket-user@lists.sourceforge.net *Subject:* Re: [Wicket-user] Letting users download flat file the proper approach is to push a new request target into the request cycle, see DownloadLink -igor On 1/3/07, Frank Silbermann [EMAIL PROTECTED] wrote: In my project, I have a button that lets the user download the contents of a datatable in a form that MSExcel can interpret: Button button = new Button(excelExport) { protected void onSubmit() { getRequestCycle().setRequestTarget(new ComponentRequestTarget(dataTable)); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( excel/ms-excel; name=myFilename.xls ); wr.setHeader(content-disposition, attachment;filename= myFilename.xls); } }; Suppose I want the button to download a text file containing some arbitrary text (not necessarily the contents of a DataTable). Would I do something like this? Button button = new Button(textfileExport) { protected void onSubmit() { StringResponse response = new StringResponse(); response.write( Whatever I want contained in the output text file... ); getRequestCycle().setResponse(response); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( text/plain; name=myFilename.txt ); wr.setHeader(content-disposition, attachment;filename= myFilename.txt); } }; If not, what is the proper approach? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash
[Wicket-user] Letting users download flat file
In my project, I have a button that lets the user download the contents of a datatable in a form that MSExcel can interpret: Button button = new Button(excelExport) { protected void onSubmit() { getRequestCycle().setRequestTarget(new ComponentRequestTarget(dataTable)); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( excel/ms-excel; name=myFilename.xls ); wr.setHeader(content-disposition, attachment;filename=myFilename.xls); } }; Suppose I want the button to download a text file containing some arbitrary text (not necessarily the contents of a DataTable). Would I do something like this? Button button = new Button(textfileExport) { protected void onSubmit() { StringResponse response = new StringResponse(); response.write( Whatever I want contained in the output text file... ); getRequestCycle().setResponse(response); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( text/plain; name=myFilename.txt ); wr.setHeader(content-disposition, attachment;filename=myFilename.txt); } }; If not, what is the proper approach? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Letting users download flat file
the proper approach is to push a new request target into the request cycle, see DownloadLink -igor On 1/3/07, Frank Silbermann [EMAIL PROTECTED] wrote: In my project, I have a button that lets the user download the contents of a datatable in a form that MSExcel can interpret: Button button = new Button(excelExport) { protected void onSubmit() { getRequestCycle().setRequestTarget(new ComponentRequestTarget(dataTable)); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( excel/ms-excel; name=myFilename.xls ); wr.setHeader(content-disposition, attachment;filename= myFilename.xls); } }; Suppose I want the button to download a text file containing some arbitrary text (not necessarily the contents of a DataTable). Would I do something like this? Button button = new Button(textfileExport) { protected void onSubmit() { StringResponse response = new StringResponse(); response.write( Whatever I want contained in the output text file... ); getRequestCycle().setResponse(response); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( text/plain; name=myFilename.txt ); wr.setHeader(content-disposition, attachment;filename= myFilename.txt); } }; If not, what is the proper approach? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Letting users download flat file
I am trying to make a button responde by downloading text to the user which is saved as a .txt file. Igor suggested I look at DownloadLink, which downloads a file when clicked. The code of DownloadLink does not seem to set the content type; does the system make an assumption based on the file's suffix? Trying to adapt the code in DownloadLink, I came up with the following event for my Button subclass: public void onClick() { getRequestCycle().setRequestTarget( new IRequestTarget() { public void detach(RequestCycle requestCycle) {} public Object getLock(RequestCycle requestCycle) { return null; } public void respond(RequestCycle requestCycle) { WebResponse r = (WebResponse)requestCycle.getResponse(); r.setAttachmentHeader(myFilename.txt); r.setContentType( text/plain; name=myFileName.txt ); PrintStream printStream = new PrintStream(r.getOutputStream()); printStream.println(Line 1); printStream.println(Line 2);} } ); } I expect that when I run it and click the button, the browser should pop-up a box asking me if I wish to save file myFileName.txt -- a file that should contain two lines of text. But when I run it and click my button, it goes back to the server, but then nothing happens --the browser does not prompt me to save anything. Do you see anything wrong with what I've done? From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Igor Vaynberg Sent: Wednesday, January 03, 2007 11:35 AM To: wicket-user@lists.sourceforge.net Subject: Re: [Wicket-user] Letting users download flat file the proper approach is to push a new request target into the request cycle, see DownloadLink -igor On 1/3/07, Frank Silbermann [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: In my project, I have a button that lets the user download the contents of a datatable in a form that MSExcel can interpret: Button button = new Button(excelExport) { protected void onSubmit() { getRequestCycle().setRequestTarget(new ComponentRequestTarget(dataTable)); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( excel/ms-excel; name=myFilename.xls ); wr.setHeader(content-disposition, attachment;filename=myFilename.xls); } }; Suppose I want the button to download a text file containing some arbitrary text (not necessarily the contents of a DataTable). Would I do something like this? Button button = new Button(textfileExport) { protected void onSubmit() { StringResponse response = new StringResponse(); response.write( Whatever I want contained in the output text file... ); getRequestCycle().setResponse(response); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( text/plain; name=myFilename.txt ); wr.setHeader(content-disposition, attachment;filename=myFilename.txt); } }; If not, what is the proper approach? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDE V ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Letting users download flat file
set a breakpoint in respond() and see if it actually gets there, also try printstream.close() at the end to flush the data -igor On 1/3/07, Frank Silbermann [EMAIL PROTECTED] wrote: I am trying to make a button responde by downloading text to the user which is saved as a .txt file. Igor suggested I look at DownloadLink, which downloads a file when clicked. The code of DownloadLink does not seem to set the content type; does the system make an assumption based on the file's suffix? Trying to adapt the code in DownloadLink, I came up with the following event for my Button subclass: public void onClick() { getRequestCycle().setRequestTarget( new IRequestTarget() { public void detach(RequestCycle requestCycle) {} public Object getLock(RequestCycle requestCycle) { return null; } public void respond(RequestCycle requestCycle) { WebResponse r = (WebResponse)requestCycle.getResponse(); r.setAttachmentHeader(myFilename.txt); r.setContentType( text/plain; name=myFileName.txt ); PrintStream printStream = new PrintStream(r.getOutputStream()); printStream.println(Line 1); printStream.println(Line 2);} } ); } I expect that when I run it and click the button, the browser should pop-up a box asking me if I wish to save file myFileName.txt -- a file that should contain two lines of text. But when I run it and click my button, it goes back to the server, but then nothing happens --the browser does not prompt me to save anything. Do you see anything wrong with what I've done? -- *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *On Behalf Of *Igor Vaynberg *Sent:* Wednesday, January 03, 2007 11:35 AM *To:* wicket-user@lists.sourceforge.net *Subject:* Re: [Wicket-user] Letting users download flat file the proper approach is to push a new request target into the request cycle, see DownloadLink -igor On 1/3/07, Frank Silbermann [EMAIL PROTECTED] wrote: In my project, I have a button that lets the user download the contents of a datatable in a form that MSExcel can interpret: Button button = new Button(excelExport) { protected void onSubmit() { getRequestCycle().setRequestTarget(new ComponentRequestTarget(dataTable)); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( excel/ms-excel; name=myFilename.xls ); wr.setHeader(content-disposition, attachment;filename= myFilename.xls); } }; Suppose I want the button to download a text file containing some arbitrary text (not necessarily the contents of a DataTable). Would I do something like this? Button button = new Button(textfileExport) { protected void onSubmit() { StringResponse response = new StringResponse(); response.write( Whatever I want contained in the output text file... ); getRequestCycle().setResponse(response); WebResponse wr=(WebResponse)getResponse(); wr.setContentType( text/plain; name=myFilename.txt ); wr.setHeader(content-disposition, attachment;filename= myFilename.txt); } }; If not, what is the proper approach? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user