No, I need to do this in a service... but even in a page, i have the page
class in a String at runtime, so I can't declare a property and use the
InjectPage like that....

Regards.


Robert Zeigler wrote:
> 
> Is this in a component or page class? If so, the answer is:
> 
> @InjectPage
> private MyPage page;
> ...
> 
> page.setSomething("");
> 
> Robert
> 
> On Jun 2, 2008, at 6/25:04 PM , raulmt wrote:
> 
>>
>> Hi,
>>
>> I'm trying to obtain a page from it's name to set a property on it.  
>> I'm
>> trying something like this:
>>
>> Component page = componentSource.getPage("MyPage");
>> MyPage myPage = (MyPage)page;
>> myPage.setSomething("");
>>
>> This code fails in the cast, despite a
>>
>> System.out.println(page.getClass().getName());
>>
>> prints the expected page class (com.myapp.pages.MyPage).... I assume  
>> is
>> because all the instrumentation T5 does to the pages, but is there a  
>> way to
>> obtain a page from its name and then set a property that the  
>> "original"
>> class has??
>>
>> The only workaround i've found is to call the method setSomething with
>> reflection, without casting it to MyPage, but it would be really  
>> nice not to
>> use reflection for this....
>>
>> Regards.
>>
>>
>> Filip S. Adamsen-2 wrote:
>>>
>>> Hi,
>>>
>>> RequestPageCache is an internal service, it's better to use
>>> ComponentSource instead. It has methods to get a component or page by
>>> logical name.
>>>
>>> http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry/services/ComponentSource.html
>>>
>>> -Filip
>>>
>>> On 2008-05-05 16:01, Kristian Marinkovic wrote:
>>>> @Inject
>>>> private RequestPageCache pageCache;
>>>>
>>>> pageCache.get(logicalName)
>>>>
>>>>
>>>> g,
>>>> kris
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Shing Hing Man <[EMAIL PROTECTED]>
>>>> 05.05.2008 15:53
>>>> Bitte antworten an
>>>> "Tapestry users" <users@tapestry.apache.org>
>>>>
>>>>
>>>> An
>>>> tapestry Tapestry <[EMAIL PROTECTED]>
>>>> Kopie
>>>>
>>>> Thema
>>>> Tap 5.0.11 : How to get page instance  from page
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Usually, I could use the following to inject a page
>>>> into another  page
>>>>
>>>>  @InjectPage
>>>>  private DetailsPage  details;
>>>>
>>>> How to retrieve an instance of a page if I am given
>>>> the logical name of a page as a String variable ?
>>>>
>>>> In Tap 4, I would use RequestCycle.getPage(pageName).
>>>>
>>>> Thanks in advance for any asistance!
>>>>
>>>> Shing
>>>>
>>>> Home page : http://www.lombok.demon.co.uk/
>>>>
>>>>
>>>>
>>>>      ___________________________________________________________
>>>> Yahoo! For Good. Give and get cool things for free, reduce waste  
>>>> and help
>>>> our planet. Plus find hidden Yahoo! treasure
>>>>
>>>> http://green.yahoo.com/uk/earth-day/
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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/Tap-5.0.11-%3A-How-to-get-page-instance--from-page-tp17062196p17611843.html
>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> 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/Tap-5.0.11-%3A-How-to-get-page-instance--from-page-tp17062196p17612066.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to