neat
except there are some comments that i can't read ...
=)
Sven Homburg wrote:
i think this is they way you need:
@InjectPage(value = "Login")
private ILoginPage _loginPage;
/**
* check for user is authentificated if requested page implements
IRestrictedPage.
*
* @return
*/
@OnEvent(value = "activate")
Object checkPageAccessPermission()
{
//
// Page nur fuer den angemeldeten User erreichbar ?
//
if (this instanceof IRestrictedPage)
{
if (!isLoggedIn())
return _loginPage;
}
return null;
}
2008/2/11, Travis McLeskey <[EMAIL PROTECTED]>:
Unfortunately, for me, returning false produced this nasty-looking
stack trace:
[ERROR]
org.apache.tapestry.internal.services.DefaultRequestExceptionHandler
Processing of request failed with uncaught exception: Page Start did
not generate any markup when rendered. This could be because its
template file could not be located, or because a render phase method
in the page prevented rendering.
java.lang.RuntimeException: Page Start did not generate any markup
when rendered. This could be because its template file could not be
located, or because a render phase method in the page prevented
rendering.
at
org
.apache
.tapestry
.internal
.services
.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:58)
at
$
PageMarkupRenderer_11806dbfeb2
.renderPageMarkup($PageMarkupRenderer_11806dbfeb2.java)
at
org
.apache
.tapestry
.internal
.services
.PageResponseRendererImpl
.renderPageResponse(PageResponseRendererImpl.java:56)
.
.
.
I don't understand, but I think I'll just return void from the method
instead.
Travis
On Feb 10, 2008, at 9:54 PM, Dapeng wrote:
besides the similarity
i guess ur beginRender should return false for redirect
refering to the state diagram
http://tapestry.apache.org/tapestry5/tapestry-core/guide/
rendering.html
Travis McLeskey wrote:
Ah, thanks, that works for me. Here's what I did:
@Inject
private Response response;
@Inject
private LinkFactory linkFactory;
public Object beginRender() throws IOException {
if( isLoginNeeded() )
response.sendRedirect( linkFactory.createPageLink("Login", true) );
return true;
}
I wish there were a cleaner way, but that'll do.
Thanks,
Travis
On Feb 10, 2008, at 9:06 PM, Dapeng wrote:
what i am doing is
@Inject
private Response response;
boolean beginRender(){
if( isRedirectNeeded() ) {
try { response.sendRedirect("") } catch (Exception e) {}
return false;
}
}
Travis McLeskey wrote:
In a page, you can listen for the "activate" event and, for
example, if the user doesn't have permission to view that page,
you can return a value (Page, Class, String, etc.) that triggers
a redirect to another page.
Is it possible to do the same when a component is loading/
rendering? Components don't receive the "activate" event, and I
haven't had any luck returning a page object from setupRender()
and beginRender().
Thanks,
Travis
---------------------------------------------------------------------
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]
---------------------------------------------------------------------
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]