You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Cyrille37 <cy...@gmail.com> on 2006/12/02 11:09:55 UTC

replace @InjectPage by a page specification

Hello,
It's me again ...

I'm searching how to replace an @InjectPage annotation by a page 
specification like

The java code is :
    @InjectPage("Login")
    public abstract Login getLoginPage();

And I would like to remove the annotation and replace it by a page 
specification like :
    <inject property="loginPage" type="page" object="Login"/>

But it does not works.

Is it possible ? What is the right syntax ?
Thanks
Cyrille

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: replace @InjectPage by a page specification

Posted by Cyrille37 <cy...@gmail.com>.
Sam Gendler a écrit :
> I don't know for sure, but I'd try using 'IPage' as the type, which
> would hopefully tell hivemind to resolve the object as a page name.
>
> You might also try looking at the source for the InjectPage
> annotation, see how it resolves the page, presumably via a hivemind
> service of some kind, and then  inject it via the hivemind binding, if
> that's possible. There is also a list of bindings at
> http://tapestry.apache.org/tapestry4/UsersGuide/bindings.html but I
> have no idea if that is the canonical list.  You might try looking at
> the tapestry.bindings.BindingFactories configuration point. You could
> always contribute your own 'page' binding which would do the same
> thing as the InjectPage annotation does in order to load a page
> instance.
>
> When you figure it out, please post it back here.  I don't know that
> I'll ever use it, but I'm sure someone will search for it at some
> point.

Hello Sam,
And thanks a lot for your detailed explanation.

By the way, I should got another error somewhere else because now the 
syntax:

    <inject property="loginPage" type="page" object="Login"/>

works fine !
It replace the @InjectPage annotation :

    @InjectPage("Login")
    public abstract Login getLoginPage();

I prefer to get page association made into a specification page than in 
the java source code to avoid to mush specialized code.
And it's much easyer and faster to change the page specification than to 
change and compile the java source.

Regards,
cyrille.

>
> --sam
>
>
> On 12/2/06, Cyrille37 <cy...@gmail.com> wrote:
>> Hello,
>> It's me again ...
>>
>> I'm searching how to replace an @InjectPage annotation by a page
>> specification like
>>
>> The java code is :
>>     @InjectPage("Login")
>>     public abstract Login getLoginPage();
>>
>> And I would like to remove the annotation and replace it by a page
>> specification like :
>>     <inject property="loginPage" type="page" object="Login"/>
>>
>> But it does not works.
>>
>> Is it possible ? What is the right syntax ?
>> Thanks
>> Cyrille
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: replace @InjectPage by a page specification

Posted by Sam Gendler <sg...@ideasculptor.com>.
I don't know for sure, but I'd try using 'IPage' as the type, which
would hopefully tell hivemind to resolve the object as a page name.

You might also try looking at the source for the InjectPage
annotation, see how it resolves the page, presumably via a hivemind
service of some kind, and then  inject it via the hivemind binding, if
that's possible. There is also a list of bindings at
http://tapestry.apache.org/tapestry4/UsersGuide/bindings.html but I
have no idea if that is the canonical list.  You might try looking at
the tapestry.bindings.BindingFactories configuration point. You could
always contribute your own 'page' binding which would do the same
thing as the InjectPage annotation does in order to load a page
instance.

When you figure it out, please post it back here.  I don't know that
I'll ever use it, but I'm sure someone will search for it at some
point.

--sam


On 12/2/06, Cyrille37 <cy...@gmail.com> wrote:
> Hello,
> It's me again ...
>
> I'm searching how to replace an @InjectPage annotation by a page
> specification like
>
> The java code is :
>     @InjectPage("Login")
>     public abstract Login getLoginPage();
>
> And I would like to remove the annotation and replace it by a page
> specification like :
>     <inject property="loginPage" type="page" object="Login"/>
>
> But it does not works.
>
> Is it possible ? What is the right syntax ?
> Thanks
> Cyrille
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org