Great idea, thanks. As I was working on passing template information as a part of the link URL I started thinking that it would be nice if I could store this information in session metadata and pass the metadata key as a part of the link URL. However, I am not sure if I can pass metadata key in the URL somehow.
Thoughts? Thanks, Alec On Tue, Sep 13, 2011 at 10:44 AM, Igor Vaynberg <igor.vaynb...@gmail.com> wrote: > add a single link to your page. expose its url as a variable to the > templating engine and append some sort of id to the url to > differentiate which template should be used. since you have to put the > link into markup put it inside an invisible div. > > -igor > > On Tue, Sep 13, 2011 at 8:37 AM, Alec Swan <alecs...@gmail.com> wrote: >> I don't think this will work because the template could be a method >> invocation, e.g. >> >> <a wicket:id="${var.getLinkToStudentReportWithColumns('First Name', >> 'Last Name')}">Download</a> >> >> Template-evaluation approach works great for generating HTML reports, >> i.e. the template evaluates to a string that contains raw HTML >> "<table>..</table>" and can be included on any page. So, here is what >> a page containing HTML report looks like: >> >> <div wicket:id="editableLabel"> >> ${var.studentReportWithColumnsHTML('First Name', 'Last Name')} >> </div> >> >> My code runs templating engine on the content of the editableLabel >> before rendering it. >> >> However, the new requirement is to expose the same reports for >> download as CSV files and I would like to continue using the >> templating mechanism and be able to support something like: >> >> <div wicket:id="editableLabel"> >> <a wicket:id="${var.getLinkToStudentReportWithColumns('First Name', >> 'Last Name')}">Download</a> >> </div> >> >> Thoughts? >> >> Thanks, >> >> Alec >> >> On Tue, Sep 13, 2011 at 1:00 AM, Sven Meier <s...@meiers.net> wrote: >>> Why don't you just use a component for this, e.g. DownloadLink? >>> >>> <a wicket:id="${var.wellKnownWicketId}">Download</a> >>> >>> No stable url involved. >>> >>> Sven >>> >>> On 09/13/2011 04:45 AM, Alec Swan wrote: >>>> Our templating engine is the one that needs to generate the link by >>>> evaluating a template similar to "<a >>>> href='${var.reportLink}'>Download</a>". The engine does not have >>>> access to any Wicket components but can access Thread local >>>> properties, such as RequestCycle.get(). I guess we could add a >>>> behavior to RequestCycle.get().getResponsePage(). >>>> >>>> Is this what you are suggesting or there is a more elegant way to >>>> implement this in Wicket? >>>> >>>> Thanks, >>>> >>>> Alec >>>> >>>> On Mon, Sep 12, 2011 at 5:27 PM, Igor Vaynberg <igor.vaynb...@gmail.com> >>>> wrote: >>>>> the problem is when you say "build a url to an instance of this >>>>> request target" wicket doesnt hold on to the instance, nor does it >>>>> have any way to recreate it. >>>>> >>>>> what you can do is add a behavior to the page and construct a url to >>>>> that behavior. >>>>> >>>>> -igor >>>>> >>>>> >>>>> On Mon, Sep 12, 2011 at 4:16 PM, Alec Swan <alecs...@gmail.com> wrote: >>>>>> I don't really need a stable URL. In fact, I would prefer if the link >>>>>> URL was session or page-specific so that it cannot be accessed by >>>>>> anybody unless they first accessed the page that contains the link. >>>>>> >>>>>> I would like to do something along the lines of the code in my >>>>>> original post. In other words, I would like to create a new >>>>>> RequestTarget and get its URL and display that URL to the user. >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Alec >>>>>> >>>>>> >>>>>> On Mon, Sep 12, 2011 at 4:14 PM, Igor Vaynberg <igor.vaynb...@gmail.com> >>>>>> wrote: >>>>>>> create a resource and register it in shared resources, this will allow >>>>>>> you to create a stable url. the filename and reportdata you will have >>>>>>> to pass on the url. >>>>>>> >>>>>>> -igor >>>>>>> >>>>>>> On Mon, Sep 12, 2011 at 2:25 PM, Alec Swan <alecs...@gmail.com> wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> We use a templating engine which generates parts of our pages. >>>>>>>> Templates can be included on any page. We need the engine to be able >>>>>>>> to generate a link which will display a report when clicked. I tried >>>>>>>> using the following code, but it returns null from >>>>>>>> RequestTarget.urlFor(..): >>>>>>>> >>>>>>>> public String getReportLink() { >>>>>>>> return "" + RequestCycle.get().urlFor(new >>>>>>>> DownloadCsvRequestTarget(fileName, reportData)); >>>>>>>> } >>>>>>>> >>>>>>>> Where DownloadCsvRequestTarget implements respond() method to write >>>>>>>> reportData our in CSV format. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Alec >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>> >>>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>> >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org