[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Logout  XML
Forum Index -> Comentários Gerais
Author Message
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

To tentando fazer um Logout... tá dando esse erro:

Code:
java.lang.IllegalAccessException: Class org.mentawai.core.InvocationChain can not access a member of class br.com.comunidadebetel.action.LogoutAction with modifiers "protected"


Logout
Code:
import org.mentawai.core.BaseAction;
 
 public class LogoutAction extends BaseAction {
 	
     protected void logout() {
         session.reset();
     }
     
     public String execute() throws Exception {
         this.logout();
         return SUCCESS;
     }
 
 }


App:
this.action( "MyEspace" , LogoutAction.class , "logout" )
.on( LogoutAction.SUCCESS , fwd( "MyEspace.login.jsp" ) ); 
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

De novo procura pela linha com o erro.

Usa o org.mentawai.action.LogoutAction ao invés de fazer o seu, sei lá.

No mínimo extende (herda) essa calsse caso necessário.

Dá uma olhada aí, para termos certeza que não é bug do framework. Acho que não pois eu estou usando Logout no mybooks sem problema !


Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Foi mal, não vi que tinha um pronto
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Usando agora o org.mentawai.action.LogoutAction deu o mesmo erro:

Code:
Caused by: java.lang.IllegalAccessException: Class org.mentawai.core.InvocationChain can not access a member of class org.mentawai.action.LogoutAction with modifiers "protected"


AppManager:
Code:
        this.action( "MyEspace" , LogoutAction.class , "logout" )
         	.on( LogoutAction.SUCCESS , fwd( "MyEspace.login.jsp" ) );
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

esquece, acho q já sei...
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Eu to tentando acessar o método logout() do org.mentawai.action.LogoutAction, mas ele tá protegido... pq? A assinatura do método é protected void logout();

Se eu fizer dessa forma:

Code:
        this.action( "MyEspace" , LogoutAction.class , "logout" )
         	.on( LogoutAction.SUCCESS , fwd( "MyEspace.login.jsp" ) );


não vai funcionar...
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Já sei o que é:

Por que o "logout" !!!!?????????????

Tu tá criando uma inner action, ou seja:

/MyEspace.logout.mtw

Mas o método logout é protected, logo não pode ser acessado.

Vc quer que MySpace.logout aponte para o execute de LogoutAction.class.

Impossível !!! Tu misturou muito as bolas aqui...

MySpace.logout vai apontar para o método logout(), pois é assim que funciona uma inner action.

Implementa na mão o logout mesmo, e esquece o LogoutAction.class do Mentawai.

Code:
 public class MySpace {
 
    public String logout() throws Exception {
 
        session.reset();
        return SUCCESS;
    }
 
    // ... restante da action
 }
 


Procure entender bem o conceito de inner actions !!!


Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

vlw,

Eu entendi muito bem como funciona uma inner action... só minha forma de fazer não é a certa... vou concertar isso...
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team