Martjin already say that:
so you should call:
urlFor(dlink, ILinkListener.INTERFACE)
not dlink.urlFor.
Bas Vroling wrote:
>
> Thanks for the extensive feedback, but urlFor() does not accept that
> as input...
> I tried being smart and did this (please correct me if this is
> nonsense):
>
> add(new WebMarkupContainer("filename").add(new SimpleAttributeModifier(
> "value",
> dlink.urlFor(ILinkListener.INTERFACE))));
>
> when I access the pages it gives the following error:
>
> java.lang.IllegalStateException: No Page found for component
> [MarkupContainer [Component id = downloadMsf]]
> at org.apache.wicket.Component.getPage(Component.java:1755)
>
> although the component is added to the panel. Here's the complete code:
>
> public JalViewPanel(String id, DefaultMutableTreeNode treeNode) {
> super(id);
> activeNode = treeNode;
>
> DownloadLink dlink = new DownloadLink("downloadMsf",
> currentJalviewAlignment) {
> @Override
> public void onClick() {
> String alignment = (String)
> currentJalviewAlignment.getObject();
> byte[] bytes = alignment.getBytes();
> getRequestCycle().setRequestTarget(new
> AlignmentRequestTarget(bytes, "alignment.fasta"));
> }
> };
>
> add(dlink);
> add(new WebMarkupContainer("filename").add(new
> SimpleAttributeModifier(
> "value",
> dlink.urlFor(ILinkListener.INTERFACE))));
> }
>
> On 10 Jun, at 12:10, Martijn Dashorst wrote:
>
>> You could always look at the source for how Link does it: getURL()
>> calls:
>>
>> /**
>> * Gets the url to use for this link.
>> *
>> * @return The URL that this link links to
>> */
>> protected CharSequence getURL()
>> {
>> return urlFor(ILinkListener.INTERFACE);
>> }
>>
>> which calls:
>>
>> Component#urlFor(this, ILinkListener.INTERFACE)
>>
>> so you should call:
>>
>> urlFor(dlink, ILinkListener.INTERFACE)
>>
>> Martijn
>>
>> On Wed, Jun 10, 2009 at 11:59 AM, Bas Vroling<[email protected]>
>> wrote:
>>> I'm feeling not really smart here, but that doesn't work. urlFor
>>> needs
>>> something like a irequesttarget. I tried something like this:
>>>
>>> add(new WebMarkupContainer("filename").add(new
>>> SimpleAttributeModifier(
>>> "value",
>>> urlFor(dlink.getRequestCycle().getRequestTarget()))));
>>>
>>> but that gives me the url of the page, not the downloadlink.
>>>
>>> On 10 Jun, at 11:46, Martijn Dashorst wrote:
>>>
>>>> urlFor(dlink)?
>>>>
>>>> Martijn
>>>>
>>>> On Wed, Jun 10, 2009 at 11:27 AM, Bas Vroling<[email protected]>
>>>> wrote:
>>>>>
>>>>> Ok, that is starting to work, thanks! Now I only need to get the
>>>>> url in
>>>>> the
>>>>> simpleAttributeModifier. This doesn't accept models but needs a
>>>>> CharSequence, which does seem logical but how do I get the actual
>>>>> URL of
>>>>> the
>>>>> dlink model in there?
>>>>>
>>>>> On 10 Jun, at 10:48, Martijn Dashorst wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> add(new WebMarkupContainer("filename").add(new
>>>>>> SimpleAttributeModifier("value", ...)));
>>>>>>
>>>>>> On Wed, Jun 10, 2009 at 9:57 AM, Bas
>>>>>> Vroling<[email protected]> wrote:
>>>>>>>
>>>>>>> If I set setRenderBodyOnly(true) it doesn't work either, and
>>>>>>> then it
>>>>>>> shouldn't complain anymore. (wicket is the one complaining, not
>>>>>>> the
>>>>>>> applet
>>>>>>> btw)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 10 Jun, at 09:53, Dorothée Giernoth wrote:
>>>>>>>
>>>>>>>> b/c you can't put a tag into a tag ... as it says: it is a
>>>>>>>> value and
>>>>>>>> it
>>>>>>>> needs a value, not a tag ... xml doesn't work that way
>>>>>>>>
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Bas Vroling [mailto:[email protected]]
>>>>>>>> Gesendet: Mittwoch, 10. Juni 2009 09:41
>>>>>>>> An: [email protected]
>>>>>>>> Betreff: inserting urls in script variables
>>>>>>>>
>>>>>>>> Hi guys,
>>>>>>>>
>>>>>>>> I'm trying to insert a download url in a piece of template
>>>>>>>> code. The
>>>>>>>> template part looks like this:
>>>>>>>>
>>>>>>>> <wicket:panel>
>>>>>>>>
>>>>>>>> <applet code="jalview.bin.JalviewLite" width="100%"
>>>>>>>> height="750"
>>>>>>>> archive="jalviewApplet.jar">
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> </applet>
>>>>>>>> </wicket:panel>
>>>>>>>>
>>>>>>>> The applet show a multiple sequence alignment that I would
>>>>>>>> like to be
>>>>>>>> retrieved from wicket.
>>>>>>>> In my java code I have created a link that downloads the file.
>>>>>>>> This
>>>>>>>> works fine if I show the link on a page and click on it:
>>>>>>>>
>>>>>>>> DownloadLink dlink = new DownloadLink("downloadMsf",
>>>>>>>> currentJalviewAlignment) {
>>>>>>>> @Override
>>>>>>>> public void onClick() {
>>>>>>>> String alignment = (String)
>>>>>>>> currentJalviewAlignment.getObject();
>>>>>>>> byte[] bytes = alignment.getBytes();
>>>>>>>> getRequestCycle().setRequestTarget(new
>>>>>>>> AlignmentRequestTarget(bytes, "alignment" + ".fasta"));
>>>>>>>> }
>>>>>>>> };
>>>>>>>>
>>>>>>>> When I try to do the obvious, replace the {{URL_HERE}} part
>>>>>>>> with >>>>>> wicket:id="downloadMsf"> it complains about non-valid
>>>>>>>> XML and
>>>>>>>> such.
>>>>>>>>
>>>>>>>> Any ideas?
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> 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]
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Become a Wicket expert, learn from the best:
>>>>>> http://wicketinaction.com
>>>>>> Apache Wicket 1.3.5 is released
>>>>>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> 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]
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>>>> Apache Wicket 1.3.5 is released
>>>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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]
>>>
>>>
>>
>>
>>
>> --
>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>> Apache Wicket 1.3.5 is released
>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>>
>> ---------------------------------------------------------------------
>> 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]
>
>
>
--
View this message in context:
http://www.nabble.com/inserting-urls-in-script-variables-tp23957329p23963335.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]