The way I would do it would probably be a combination of Shawn's two
methods. Something like this:
<a jwcid="@Any" href="ognl:yahooUrl">Yahoo map</a>
public String getYahooUrl()
{
String url = "http://maps.yahoo.com/maps_result";
url += "?addr=" + getLocation().getAddress().getLine();
url += "&csz=" + getLocation().getAddress().getCity();
return url;
}
Shawn's second method wouldn't make a link, it would just spit out the
URL. If the java method constructing the link String put in html link
tags, then the raw="true" specified in the Insert component would indeed
construct a link.
-Chris
> -----Original Message-----
> From: Scott Sauyet [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 09, 2005 12:57 PM
> To: Tapestry users
> Subject: Re: Newbie question about ExternalLink
>
> Shawn Church wrote:
> > ExternalLink is used to provide a URL which may be used outside the
> > context of a Tapestry webapp to link back into the webapp. [ ... ]
>
> See, I told you I was a newbie! :-)
>
> > I think what you are wanting is to provide links to external
> > (non-Tapestry) applications from within a Tapestry app.
>
> Exactly.
>
> >
> There are many
> > ways to do this, but two common ways are to either use the @Any
> > component to build the URL within your .html (or .page)
> directly, or a
> > possibly cleaner way is to build the URL strings within
> your .java page
> > handler.
> >
>
> > Using the @Any solution:
> >
> > <a jwcid="@Any" href='ognl:
> "http://maps.yahoo.com/maps_result?addr=" +
> > location.address.line + "&csz=" + location.address.city'>
> Yahoo Map </a>
>
> Thank you. The @Any solution is perhaps what I was looking for.
>
>
> > Using the .java method solution:
> >
> > public String getYahooUrl()
> > {
> > String url = "http://maps.yahoo.com/maps_result";
> > url += "?addr=" + getLocation().getAddress().getLine();
> > url += "&csz=" + getLocation().getAddress().getCity();
> > return url;
> > }
> >
> > <span jwcid="@Insert" value="ognl:yahooUrl" raw="ognl:true"/>
>
> I'm not certain about this Java method. It seems to me that it would
> just output the URL into the document. Is there a way to get
> this into
> an href attribute?
>
> The other question about the Java method is whether this is
> considered
> good practice in Tapestry. It seems to me a matter of moving
> presentation data out to the template and back into the Java
> code, which
> seems counter to most other MVC systems I've seen, especially
> as I would
> need to add methods for every new URL format needed.
>
> So when you say that this is "possibly cleaner", is the Tapestry
> experience that it's better to keep the templates clean and
> offload some
> formatting into Java? I'm surprised if this is the case, but
> would love
> to hear the arguments in favor of it.
>
> Thank you very much for your helpful response.
>
> -- Scott
>
> ---------------------------------------------------------------------
> 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]