1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Redirecionando o Contexto de um Iframe no filtro.

Pessoal, seguinte.

tenho a seguinte chamada para o controller da view:

var ifrm = document.createElement("IFRAME");    
                                ifrm.setAttribute("src", "laca~_3_2_1_.do?action=pdf");    
                                ifrm.style.width = 0+"px";    
                                ifrm.style.height = 0+"px";  
                                ifrm.style.display = "block";   
                                ifrm.style.display = "none";   
                                document.body.appendChild(ifrm);

Obviamente como to passando uma varialvel de request vai passar pelo Filtro que configurei, certo... método doFilter:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {  


        /* 
         * (VariaveisStaticas.verificaRejuvSession) for verdadeira significa que 
         *  passou pela tela Cics então o objeto não vai ser mais nulo ! 
         */  

        if (VariaveisStaticas.verificaRejuvSession) {  
            HttpServletRequest req = (HttpServletRequest) request;  
            HttpServletResponse res = (HttpServletResponse) response;  

            res.setContentType("text/html");  

            FolhaDescentralizadaSession rejuvenationSource = (FolhaDescentralizadaSession) req.getSession().getAttribute("rejuvenationSource");  
                     if (rejuvenationSource != null) {  

                            try {  
                                /** 
                                * *************************** 
                                */  
                                //forward request to login.jsp  
                                rejuvenationSource.getSession().getTerminalScreen().isFieldStructured();  
                                chain.doFilter(request, response);  

                                /** 
                                * *************************** 
                                */  
                            } catch (ChannelException ex) {  
                                res.sendRedirect("/erro.jsp");  
                                System.out.println("ChannelException:"+rejuvenationSource);  
                                Logger.getLogger(RedirectFilter.class.getName()).log(Level.SEVERE, null, ex);  
                                chain.doFilter(request, response);  
                            } catch (Exception ex) {  
                                req.getSession().getServletContext().getRequestDispatcher("/erro.jsp");  
                                System.out.println("Exception :"+rejuvenationSource);  
                                Logger.getLogger(RedirectFilter.class.getName()).log(Level.SEVERE, null, ex);  
                            }  

                        } else {  

                            System.out.println("REJV:"+rejuvenationSource);  
                            req.getSession().getServletContext().getRequestDispatcher("/erro.jsp");  
                        }  
        }else{  
                chain.doFilter(request, response);  
        }  



    }  
            public void init(FilterConfig filterConfig) throws ServletException {  

            }  

            public void destroy() {  

            }  
   /******INTERFACE FILTER*****************/

O problema é que tanto o sendRedirec ou Dispatcher não redireciona quando acionado. Bom pensei será que é por que não esta no mesmo ContentType que a pagina principal ? mas se não esta como acessar o ContentType da pagina Pai e rerirecionar a url, pois to achando que esta redirecionando o iframe, como vcs podem vê no primeiro bloco de codigo javaScrip estou usando um iframe para acessar o controller essa chamada é para pegar o OutStream e trazer um pdf, mas isso não importa pois passo pelo filtro primeiro pra vê se as Sessoes(http e MainFrame) estão , mas quando não estao ok, qro redirecionar é ai q ta o problema .... Desde já agradeço ! (Editado dia 16 às 14:20): Poxa ninguém sabe nem aqui nem no java Free vou ter q recorrer pros fóruns internacionais.....

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java extjs servlets http ou faça a sua própria pergunta.