Dúvida referente ao parametro getAtribute

5 respostas
J

Bom dia, estou configurando o RequestProcessor no Struts e não consigo receber um usuário que gravei na Session, segue abaixo o código implementado.

1- Faço este comando numa Action que está gravada no Struts Config.xml como scope = “session” parametro que era para guardar na sessão o objeto criado.

String user = “usuario”;
request.setAttribute(“usuario”, user) ;

2- no RequestProcessor sobscrevo o métod abaixo e não consigo receber o objeto criado.

public class CustomRequestProcessor extends RequestProcessor {

<a class="mention" href="/u/override">@Override</a>

protected boolean processPreprocess(HttpServletRequest request,

HttpServletResponse response) {

HttpSession session = request.getSession(true);

if (request.getServletPath().equals("/login.do"))
return true;

// Check if userName attribute is there is session.
// If so, it means user has allready logged in

if (request.getAttribute(“usuario”) != null) {
return true;

if (session.getAttribute(usuario) != null) {

return true;

}else

{

try {

// If no redirect user to login Page

request.getRequestDispatcher("/loginUsuario.jsp").forward(request, response);
// utilizo o sendRedirect para redicionar o usuário.
       } catch (Exception ex) {

}

3- consigo redirecionar o usuário quando não tenho nenhum usuário logado, o problema é que por eu não ter o objeto logado, nunca vou conseguir retornar true para que o usuário consiga fazer os acessos normais as páginas (após forçar o usuário fazer o login correto).

Obrigado pela atenção.

5 Respostas

Radams_Venceslau

jo_user,

Tu não deveria setar o usuário como atributo de sessão não? Você está setando como atributo de request:
request.setAttribute("usuario", user) ;
e mais uma coisa quando for postar algum código coloca ele entre a tag "[code]" na barra de ferramentas existe o botão Code pra vc adicionar, fica melhor pra alguém analisar tua classe e propor alguma coisa.
J

[code]session.setAttribute("usuario", user) ;

Seria isto?

Radams_Venceslau

Ficaria assim pra vc setar o usuario na sessão:

request.getSession().setAttribute("usuario", usuario); e pra vc pegar da sessão vc faz assim:

request.getSession().getAttribute("usuario");
J

Obrigado Radams pela grande ajuda, fiquei um bom tempo testando, vou testar a noite e te respondo se funcionou.

J

Obrigado, funcionou.

Criado 16 de setembro de 2011
Ultima resposta 19 de set. de 2011
Respostas 5
Participantes 2