Great idea, worked like a charm.

Thanks!

On Tue, Sep 13, 2011 at 8:19 PM, Igor Vaynberg <[email protected]> wrote:
> 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]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to