Página em branco

Olá pessoal,

Comecei agora com Struts e segui um tutorial para fazer uma pequena aplicação, segui esse tutorial a risca .

Ao chamar uma Action, o browser retorna uma tela em branco, mas não apresenta erro no console. alguém poderia me esclarecer qual o possível problema?

Desde já agradeço,

[]s

[quote=“fabeen”]Olá pessoal,

Comecei agora com Struts e segui um tutorial para fazer uma pequena aplicação, segui esse tutorial a risca .

Ao chamar uma Action, o browser retorna uma tela em branco, mas não apresenta erro no console. alguém poderia me esclarecer qual o possível problema?

Desde já agradeço,

[]s[/quote]
que tutorial? (devem existir milhares espalhados por aí)

verifique se no final da Action não estaria retornando null (return null;)

a Princípio não, este é o meu código :

package teste.struts.action;

import javax.servlet.http.*;
import org.apache.struts.action.*;
import teste.struts.form.LoginForm;

public class Login extends Action {   
    
    public ActionForward execute(ActionForm form, ActionMapping map,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {         
          
   
            LoginForm formulario = (LoginForm) form;
            String usuario = formulario.getUsuario();
            String senha = formulario.getSenha();
        

        // 2 - Valida os dados         
              
        if (usuario.equals("") || !usuario.equals(senha)){
            
           //Não são válidas
            return map.findForward("erro");
                    
        }else {  
        
            return map.findForward("ok");
        }    
        
    }

[size=“11”]
[color=“red”]

  • Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia:

vc declarou os forwards no struts-config.xml ?

Sim, manja aí:


<?xml version=“1.0” encoding=“UTF-8”?>

<struts-config>

&lt;!-- Form Bean Definitions --&gt;    
&lt;form-beans&gt;
   &lt;form-bean name="LoginForm" type="teste.struts.form.LoginForm"/&gt; 
&lt;/form-beans&gt;

&lt;!--  Action Mapping Definitions  --&gt;

&lt;action-mappings&gt;
    &lt;action path="/login" name="LoginForm" type="teste.struts.action.Login"&gt;           
        &lt;forward name="ok" path="/ok.jsp"/&gt;
        &lt;forward name="erro" path="/erro.jsp"/&gt;        
    &lt;/action&gt;
&lt;/action-mappings&gt;
    

&lt;!-- message resources --&gt;
&lt;message-resources parameter="MessageResources" /&gt;

</struts-config>

na sua pagina erro.jsp e ok.jsp tem alguma coisa?
talvez ele num teja achando nada pra mostrar.

Sim… está apenas descrevendo uma mensagem de sucesso ou erro…

certo…

poste aí o teu form, a action e o strutsconfig dentro da tag [code] pra gente ver onde ta o erro.


&lt;!-- &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;STRUTS-CONFIG &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58; --&gt;


&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;


&lt;struts-config&gt;

&lt;!-- Form Bean Definitions --&gt;
&lt;form-beans&gt;
&lt;form-bean name=&quot;LoginForm&quot; type=&quot;teste.struts.form.LoginForm&quot;/&gt;
&lt;/form-beans&gt;

&lt;!-- Action Mapping Definitions --&gt;

&lt;action-mappings&gt;
&lt;action path=&quot;/login&quot; name=&quot;LoginForm&quot; type=&quot;teste.struts.action.Login&quot;&gt;
&lt;forward name=&quot;ok&quot; path=&quot;/ok.jsp&quot;/&gt;
&lt;forward name=&quot;erro&quot; path=&quot;/erro.jsp&quot;/&gt;
&lt;/action&gt;
&lt;/action-mappings&gt;


&lt;!-- message resources --&gt;
&lt;message-resources parameter=&quot;MessageResources&quot; /&gt;


&lt;/struts-config&gt;

&lt;!-- &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;WEB&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58; --&gt;
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

&lt;web-app&gt;
    
  &lt;servlet&gt;
    &lt;servlet-name&gt;action&lt;/servlet-name&gt;
    &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;
    &lt;init-param&gt;
      &lt;param-name&gt;config&lt;/param-name&gt;
      &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;init-param&gt;
      &lt;param-name&gt;debug&lt;/param-name&gt;
      &lt;param-value&gt;2&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;init-param&gt;
      &lt;param-name&gt;detail&lt;/param-name&gt;
      &lt;param-value&gt;3&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;

   
  &lt;!-- Action Servlet Mapping --&gt;
  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;action&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
    

           
    &lt;session-config&gt;
        &lt;session-timeout&gt;
            30
        &lt;/session-timeout&gt;
    &lt;/session-config&gt;
    
    
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
    

      &lt;!-- tag libs --&gt;    
      
  &lt;taglib&gt;
    &lt;taglib-uri&gt;/tags/struts-bean&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

  &lt;taglib&gt;
    &lt;taglib-uri&gt;/tags/struts-html&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

  &lt;taglib&gt;
    &lt;taglib-uri&gt;/tags/struts-logic&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

  &lt;taglib&gt;
    &lt;taglib-uri&gt;/tags/struts-nested&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-nested.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

  &lt;taglib&gt;
    &lt;taglib-uri&gt;/tags/struts-tiles&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-tiles.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;
              
&lt;/web-app&gt;

&lt;!-- &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;A CLASSE FORM &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58; --&gt;

package teste.struts.form;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author fabeen
 */
public class LoginForm extends ActionForm&#123;
    
    private String usuario;
    private String senha;
    
    public void setUsuario&#40;String usuario&#41;&#123;
        
        this.usuario = usuario;
        
    &#125;
    
    public void setSenha&#40;String senha&#41;&#123;
        
        this.senha = senha;
    &#125;
    
    public String getUsuario&#40;&#41;&#123;
        
        return this.usuario;
        
    &#125;
    
    public String getSenha&#40;&#41;&#123;
        
        return this.senha;
        
    &#125;
    
&#125;

&lt;!-- &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58; A CLASSE ACTION&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58; --&gt;
package teste.struts.action;

import javax.servlet.http.*;
import org.apache.struts.action.*;
import teste.struts.form.LoginForm;

public class Login extends Action &#123;   
   
    public ActionForward execute&#40;ActionForm form, ActionMapping map,
            HttpServletRequest request, HttpServletResponse response&#41;
            throws Exception &#123;         
         
   
            LoginForm formulario = &#40;LoginForm&#41; form;
            String usuario = formulario.getUsuario&#40;&#41;;
            String senha = formulario.getSenha&#40;&#41;;
       

        // 2 - Valida os dados         
             
        if &#40;usuario.equals&#40;&quot;&quot;&#41; || !usuario.equals&#40;senha&#41;&#41;&#123;
           
           //Não são válidas
            return map.findForward&#40;&quot;erro&quot;&#41;;
                   
        &#125;else &#123; 
       
            return map.findForward&#40;&quot;ok&quot;&#41;;
        &#125;   
       
    &#125; 

&lt;!-- &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;O FORM &#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58;&#58; --&gt;

&lt;%@ taglib uri=&quot;/tags/struts-bean&quot; prefix=&quot;bean&quot; %&gt;
&lt;%@ taglib uri=&quot;/tags/struts-html&quot; prefix=&quot;html&quot; %&gt;


&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
   &quot;http&#58;//www.w3.org/TR/html4/loose.dtd&quot;&gt;

&lt;html&#58;html locale=&quot;true&quot;&gt;

    &lt;head&gt;
        &lt;title&gt;&lt;bean&#58;message key=&quot;site.titulo&quot;/&gt;&lt;/title&gt;    
    &lt;/head&gt;

    &lt;body&gt;
    
        
        &lt;html&#58;form action=&quot;/login&quot; focus=&quot;usuario&quot;&gt;
        
            
        
            &lt;bean&#58;message key=&quot;pergunta.usuario&quot; /&gt;
           
            &lt;html&#58;text property=&quot;usuario&quot; size=&quot;16&quot;/&gt; &lt;br/&gt;
            

            &lt;bean&#58;message key=&quot;pergunta.senha&quot; /&gt;
            
            &lt;html&#58;password property=&quot;senha&quot; size=&quot;16&quot;/&gt; &lt;br/&gt;
            
            
            
            &lt;html&#58;submit&gt;
                &lt;bean&#58;message key=&quot;pergunta.enviar&quot;/&gt;
            &lt;/html&#58;submit&gt;
            
            
            &lt;html&#58;reset&gt;
                &lt;bean&#58;message key=&quot;pergunta.limpar&quot;/&gt;
            &lt;/html&#58;reset&gt;
            
        
        &lt;/html&#58;form&gt;
    
    
    &lt;/body&gt;
    

&lt;/html&#58;html&gt;



blz…

aqui na tua jsp, chame tua action assim:

&lt;html&#58;form action=&quot;login&quot; focus=&quot;usuario&quot;&gt;

sem a “/”

veja se da certo…
qq coisa poste aí…

fuiii… :brinde:

Xiii… funcionou não brother…

blz…

parece q teu código ta certo…
vamos a mais uma alternativa…

pelo q eu sei, o metodo execute de action, recebe como primeiro argumento o mapping e naum o form, como vc colocou:

 public ActionForward execute&#40;ActionForm form, ActionMapping map,
            HttpServletRequest request, HttpServletResponse response&#41;
            throws Exception &#123; 

tente assim:

public ActionForward execute&#40;ActionMapping map, ActionForm form, HttpServletRequest req, HttpServletResponse res&#41; throws Exception &#123;

num sei, posso ta te falandu a maior besteira, mas tem uma grande chance de dar certo, vale a pena tentar, pq eu so uso assim e funciona.

funcionou?

Caramba, e num é que era isso mesmo…

Valews brother …

Obrigadão pela força…

[]s

falow…

vou te dar uma dica, pra vc nunca mais errar isso, rs…
se vc usar o eclipse, quando vc criar a classe, extenda ela a Action:


public class ExemploAction extends Action&#123;

&#125;

depois escreva “execute” e de um ctrl + espaço, dai é so dar um enter e mudar o nome dos argumentos, simples naum?

public class ExemploAction extends Action&#123;
    execute &#40;ctrl + espaço&#41;
&#125;

qq coisa é só postar… :brinde:

Cara, o erro inicial que tava rolando é porque ele nao achou as paginas erro.jsp e ok.jsp, varifica qual pasta que esta pagina ta!
Ai vc muda no forward

&lt;forward name=&quot;ok&quot; path=&quot;/ok.jsp&quot;/&gt; 

se estiver dentro de WEB-INF/JPS
vc muda pra:

&lt;forward name=&quot;ok&quot; path=&quot;WEB-INF/JPS/ok.jsp&quot;/&gt; 

Olha lá!!