I think what you're looking for is ComponentClassResolver, you can inject it
into your page. It has two methods:

resolvePageClassNameToPageName();
canonicalizePageName();

I'm still back on 5.0.6, so no guarantees that this still works in 5.0.7.

Josh

On Jan 2, 2008 8:34 PM, Andy Huhn <[EMAIL PROTECTED]> wrote:

> All,
>
> Short version of the question:
> Is there a method somewhere in Tapestry that will return
> "messages/Contact" if I pass it a class
> com.blahblahblah.pages.messages.Contact?  I'm trying to pass a page name
> to ComponentResources.createPageLink, and I don't want to hardcode the
> page name...I'd like to use the class definition of the page, so if I
> refactor and move the page around to different directories, my code
> doesn't break.
>
> Long version of the question:
> I'd like to use ComponentResources.createPageLink to create a link.  The
> quirk is that instead of giving it a hard-coded string that is the name
> of a page, I'd like to instead use the name of the class, so that when I
> refactor (and move the page from one directory to another), my hardcoded
> string doesn't break.
>
> Right now, I'm using this:
> com.blahblahblah.pages.Contact.class.getSimpleName(), where "Contact" is
> the name of the page.  This gives me a String that I can pass to
> ComponentResources.createPageLink as a page name.
>
> This works as long as the page is located in the package named
> com.blahblahblah.pages.  However, if I want to create a subpackage
>
> com.blahblahblah.pages.messages.Contact
>
> then I can no longer use this (simpleName() returns "Contact", but the
> createPageLink() method needs "messages/Contact").
>
> So my question is this: is there a method somewhere in Tapestry that
> will return "messages/Contact" if I pass it a class
> com.blahblahblah.pages.messages.Contact?
>
> Thanks,
> Andy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
--
TheDailyTube.com. Sign up and get the best new videos on the internet
delivered fresh to your inbox.

Reply via email to