Olá Pessoal,
Depois de um bom tempo, sem publicar um post, irei mostrar, como criar uma simples aplicação web, usando o FrameWork Struts 1.3. Para quem não conhece, o Struts é um framework open-source do projeto Jakarta, ele possibilita o desenvolvimento de aplicacões web, atuando como um Controller no padrão MVC e também oferece suporte na camada View, para a construção de páginas JSP através de custom tags.
O exemplo deste post é simples, teremos um formulário para preencher os dados de uma Pessoa, se a idade desta pessoa for maior de 18 anos, encaminhamos para uma página de sucesso, caso contrário, encaminhamos para uma página de falha. O projeto foi desenvolvido, usando o Eclipse + JBoss.
O Struts pode ser baixado no site http://struts.apache.org/download.cgi.
Ao final do post, o projeto será disponibilizado para download, com as libs, já inclusa.
1. Passo: Estrutura do projeto:
2. Passo: Crie uma Classe, chamada Pessoa:
package com.blogspot.jabesfelipe.struts.bean;
public class Pessoa {
	private String nome;	private int idade;	private float altura;	private char sexo;
	public String getNome() {		return nome;	}
	public void setNome(String nome) {		this.nome = nome;	}
	public int getIdade() {		return idade;	}
	public void setIdade(int idade) {		this.idade = idade;	}
	public float getAltura() {		return altura;	}
	public void setAltura(float altura) {		this.altura = altura;	}
	public char getSexo() {		return sexo;	}
	public void setSexo(char sexo) {		this.sexo = sexo;	}
}Pessoa.java
3. Passo: Crie uma Classe, chamada PessoaFormBean, ela vai extender da Classe ActionForm, os form-beans se integram a um formulário de entrada de dados.
package com.blogspot.jabesfelipe.struts.formbean;
import org.apache.struts.action.ActionForm;import com.blogspot.jabesfelipe.struts.bean.Pessoa;
public class PessoaFormBean extends ActionForm {
	/**	 * 	 */	private static final long serialVersionUID = -759773695806534156L;	private Pessoa pessoa = new Pessoa();
	public Pessoa getPessoa() {		return pessoa;	}
}PessoaFormBean.java
4. Passo: Crie uma Classe, chamada PessoaAction, ela vai extender da Classe Action, e vamos sobrescrever o método execute, que funciona como um método main, esta Classe irá funcionar como o nosso Controller, o método execute, irá retornar um ActionForward, o mapeamento, será configurado no arquivo struts-config.xml.
package com.blogspot.jabesfelipe.struts.action;
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.blogspot.jabesfelipe.struts.bean.Pessoa;import com.blogspot.jabesfelipe.struts.formbean.PessoaFormBean;
public class PessoaAction extends Action {
	public static final String SUCESSO = "sucesso";	public static final String FALHA = "falha";	public static final String PESSOA = "pessoa";
	@Override	public ActionForward execute(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {
		Pessoa pessoa = ((Pessoa) ((PessoaFormBean) form).getPessoa());		boolean podeEntrar = false;
		if (pessoa.getIdade() >= 18) {			podeEntrar = true;					}				request.setAttribute(PESSOA, pessoa);
		return podeEntrar ? mapping.findForward(SUCESSO) : mapping.findForward(FALHA);	}
}PessoaAction.java
5. Passo: Vamos criar nossas páginas JSPs, crie uma página index.jsp:
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<logic:forward name="index" />index.jsp
6. Passo: Crie um JSP, para o formulário:
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html:html><head><html:base/><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Simples Exemplo Struts</title></head><body>	<html:form focus="pessoa.nome" action="/PessoaAction.do" method="POST">		Nome: <html:text property="pessoa.nome" /><br />		Idade: <html:text property="pessoa.idade" /><br />		Altura: <html:text property="pessoa.altura" /><br />		Sexo: <html:radio property="pessoa.sexo" value="M" />Masculino			  <html:radio property="pessoa.sexo" value="F" />Feminino<br /><br />		<html:submit value="Ok"/>	</html:form></body></html:html>formulario.jsp
7. Passo: Crie, agora a página de sucesso:
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html:html><head><html:base/><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Simples Exemplo Struts</title></head><body>	<bean:define id="pessoa" name="pessoa" scope="request" />	Olá <bean:write name="pessoa" property="nome"/>, SEJA BEM VINDO!!! <br /> 	Sexo: 	<logic:equal value="M" name="pessoa" property="sexo">Masculino</logic:equal>	<logic:equal value="F" name="pessoa" property="sexo">Feminino</logic:equal>	<br /><br />					<br />	<html:link action="/Index.do">sair...</html:link></body></html:html>sucesso.jsp
8. Passo: Crie, agora a página de falha:
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html:html><head><html:base /><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Simples Exemplo Struts</title></head><body>	<bean:define id="pessoa" scope="request" name="pessoa" />	Olá <bean:write name="pessoa" property="nome" />.		<br />	<br />	VOCÊ É MENOR DE IDADE E NÃO PODE ENTRAR!!!		<br />	<html:link action="/Index.do">voltar...</html:link></body></html:html>falha.jsp
9. Passo: Agora, precisamos configurar o struts no arquivo web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"	id="WebApp_ID" version="2.5">	<display-name>struts-exemplo</display-name>
	<welcome-file-list>		<welcome-file>index.jsp</welcome-file>	</welcome-file-list>
	<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>		<load-on-startup>1</load-on-startup>	</servlet>	<servlet-mapping>		<servlet-name>action</servlet-name>		<url-pattern>*.do</url-pattern>	</servlet-mapping>
</web-app>web.xml
10. Passo: A configuração do arquivo struts-config, incluindo as as definições dos beans, 
e os mapeamento das actions:
<?xml version="1.0" encoding="UTF-8"?>
<struts-config>		<!-- FORWARDS GLOBAL -->	<global-forwards>		<forward name="index" path="/Index.do" />	</global-forwards>	
	<form-beans>
		<!-- FORM PESSOA -->		<form-bean name="PessoaFormBean" type="com.blogspot.jabesfelipe.struts.formbean.PessoaFormBean" />
	</form-beans>
	<action-mappings>
		<!-- PAGINA INICIAL -->		<action path="/Index" include="/formulario.jsp" scope="request" />				<action name="PessoaFormBean" type="com.blogspot.jabesfelipe.struts.action.PessoaAction" 			path="/PessoaAction" scope="request">			<forward name="sucesso" path="/sucesso.jsp"/>			<forward name="falha" path="/falha.jsp"/>		</action>
	</action-mappings>
</struts-config>struts-config.xml
11. Passo: A aplicação rodando, preenchendo o formulário:

 Caso seja sucesso:
Se for falha:
Bom galera, este foi um exemplo de como criar uma simples aplicação web com FrameWork Struts.
Para quem quiser baixar o exemplo, clique aqui.
Qualquer dúvida, crítica ou sugestão, fico à disposição.
 14:15
14:15
 Jabes Felipe
Jabes Felipe
 



 








 
 
 
 
