Struts - Básico!

1 resposta
L

Olá galera! Sou totalmente inciciante em Java pra web e estou tentando construir minha primeira “aplicação” usando Struts.
Fiz, ou pelo menos tentei, fazer uma aplicação que simplesmente imprime oq o usuario digitou dentro fom no console do netbeans.Daí se o usuario nao digitar nada, a intenção é mostrar “erro” na tela, caso contrario, “sucesso”. Só isso! E não da certooo!!! Por incrível q pareça!

Vou colocar os cods aqui.Se alguem puder me ajudar, agradeço demais!

Desde já, obrigado.

struts-config.xml:

<struts-config>
    <form-beans>
        <form-bean name="DadosCadastro" type="controle.DadosCadastro"/>
    
    </form-beans>
    
    <global-exceptions>
    
    </global-exceptions>

    <global-forwards>
        <forward name="welcome"  path="/teste.do"/>
 
    </global-forwards>

    <action-mappings>
        <action path="/teste"  forward="/tela1.jsp" type="TesteAction" />

            <forward name="success" path="/sucesso.jsp"/>
            <forward name="erro" path="/erro.jsp"/>

        <action path="/Welcome" forward="/welcomeStruts.jsp"/>
    </action-mappings>
    
    <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>

    <message-resources parameter="com/myapp/struts/ApplicationResource"/>

tela1.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Teste</title>
    </head>
    <body>
        <h1>Cadastro</h1>
        <form action="action" method="post">
            <input name="nome" type="text">
            <input type="submit" value="enviar">
        </form>
    </body>
</html>

Action:

public class TesteAction extends org.apache.struts.action.Action {
    
    private static final String SUCCESS = "success";
    private static final String ERROR = "erro";
    
  
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        DadosCadastro dados = (DadosCadastro)form;
        System.out.println("Nome informado: " + dados.getName() );
        if(dados.getName().equals(""))
            return mapping.findForward(ERROR);
        else
            return mapping.findForward(SUCCESS);
    }
}

Bean:

public class DadosCadastro extends org.apache.struts.action.ActionForm {
    
    private String name;
    private int number;

tring getName() {
        return name;
    }


    public void setName(String string) {
        name = string;
    }


    public int getNumber() {
        return number;
    }


    public void setNumber(int i) {
        number = i;
    }


    public DadosCadastro() {
        super();
        // TODO Auto-generated constructor stub
    }


    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        if (getName() == null || getName().length() < 1) {
            errors.add("name", new ActionMessage("error.name.required"));
            // TODO: add 'error.name.required' key to your resources
        }
        return errors;
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
        </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

1 Resposta

jyoshiriro

Amigo, na boa… o Struts 1.x está DEPRECIADO e é total perdade de tempo querer aprender a mexer nele agora… A NÃO SER QUE você esta pretendendo trabalhar num projeto com sistema legado nesse framework…
Caso contrário, procure estudar framworks “action based” mais modernos como o Struts 2.1.x e o V-Raptor 3.x ou frameworks “component based” como JSF e SEAM.

Um forte abraço.

Criado 7 de dezembro de 2009
Ultima resposta 8 de dez. de 2009
Respostas 1
Participantes 2