Re: T5: Can I redirect to another page in setupRender()?
Thank you very much, Nick. This was what I was looking for. Nick Westgate 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] -- View this message in context: http://www.nabble.com/T5%3A-Can-I-redirect-to-another-page-in-setupRender%28%29--tf4091039.html#a11678130 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Can I redirect to another page in setupRender()?
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]
Re: T5: Can I redirect to another page in setupRender()?
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] -- 徐 依伟
Re: T5: Can I redirect to another page in setupRender()?
Previous versions of Tapestry allowed redirection exceptions to be thrown precisely to avoid code like this. (Controversial, but better IMO.) Anyway, access validation shouldn't require a client side redirect. If you are working against the framework, there's probably a better way. Cheers, Nick. Donyee wrote: 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: Can I redirect to another page in setupRender()?
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? -- View this message in context: http://www.nabble.com/T5%3A-Can-I-redirect-to-another-page-in-setupRender%28%29--tf4091039.html#a11630590 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: Can I redirect to another page in setupRender()?
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]