create a single metadata key that holds a map<string,object> where string is a uuid.
-igor On Tue, Sep 13, 2011 at 5:40 PM, Alec Swan <[email protected]> wrote: > 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 <[email protected]> > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >>>>> 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 <[email protected]> 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 >>>>>>> <[email protected]> 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 <[email protected]> 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: [email protected] >>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> 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] >>>>>>> >>>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> 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] >>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> 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] >>> >>> >> >> --------------------------------------------------------------------- >> 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
