Look at the source - it has getURL which is a protected method.  If
you really can't figure out how to use urlFor(...) from the source -
then override getURL as such:

public CharSequence getURL() {
return super.getURL();
}

Make it public and use it to get the URL.  You can ascertain all of
this from the source.


--
Jeremy Thomerson
http://www.wickettraining.com




On Thu, Jun 11, 2009 at 4:18 AM, Bas Vroling<[email protected]> wrote:
> So does anyone have an idea how to fix this?
>
>
> On 10 Jun, at 12:42, 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:
>>>>>>
>>>>>>> <param wicket:id="filename" />
>>>>>>>
>>>>>>> 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>
>>>>>>>>>    <span wicket:id="familyName"></span>
>>>>>>>>>    <applet code="jalview.bin.JalviewLite" width="100%" height="750"
>>>>>>>>> archive="jalviewApplet.jar">
>>>>>>>>>            <param name="file" value="{{URL HERE}}">
>>>>>>>>>            <param name="embedded" value="true"/>
>>>>>>>>>            <param name="showFullId" value="false"/>
>>>>>>>>>    </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
>>>>>>>>> <span
>>>>>>>>> wicket:id="downloadMsf"></span>  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]
>>
>
>
> ---------------------------------------------------------------------
> 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