I do this in the beforeRenderTemplate(),and works fine!

boolean beforeRenderTemplate() throws IOException, ServletException {
                if (!isLogined()) {

                        if (appState == null) {
                                appState = new AppState();
                        }

                        appState.setErrCode("00100");
                        appState.setPrePage("index");
                        global.getResponse().sendRedirect(
                                        
global.getHTTPServletRequest().getContextPath()
                                                        + "/errorMessage");
                }

                return true;
        }


2007/7/18, Nick Westgate <[EMAIL PROTECTED]>:
No, I'm pretty sure you can't.

Read the documentation again, and look at:
ComponentPageElementImpl.RenderPhaseEventHandler.handleResult()

It seems to confirm that returning a component will render that
component and then _continue_ with the rendering phases for the
current component.

Render phase methods are completely separate from the event handlers
for page navigation events. All options are on the page I linked to:
http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html

Cheers,
Nick.


Korben Zhang wrote:
> Yes, you can.
> See T5 core components, such as 'If'.
>
> use
> Object setupRender() {...}
>
> See page
> http://tapestry.apache.org/tapestry5/tapestry-core/guide/rendering.html
>
> remember boolean is an object too.
>
>
>
> On 7/17/07, Nick Westgate <[EMAIL PROTECTED]> wrote:
>>
>> Access validation should be done in onActivate():
>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html
>>
>> Cheers,
>> Nick.
>>
>>
>> dtrebbien wrote:
>> > I have two pages: ListRepositories and ViewRepository. ListRepositories
>> is
>> > supposed to give ViewRepository an id number by calling
>> ViewRepository's
>> > init() method. ViewRepository tracks whether it has been inited via a
>> > boolean value. The problem is, I want to redirect back to
>> ListRepositories
>> > if a devious user just types in the URL for ViewRepository which would
>> > bypass ListRepositories's call to ViewRepository's init().
>> >
>> > Currently I just return false, but this causes Tapestry to complain
>> with
>> > something like "root component not defined".
>> >
>> > Does anyone know how to redirect to another page in the setupRender()
>> > method?
>>
>> ---------------------------------------------------------------------
>> 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