atraves de custom tags.O exemplo deste post e simples, teremos um formulario para preencher os dados de uma Pessoa, se a idade desta pessoa for maior de 18 anos, encaminhamos para uma pagina de sucesso, caso contrario, encaminhamos para uma pagina 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 sera disponibilizado para download, com as libs, ja 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.java3. Passo: Crie uma Classe, chamada PessoaFormBean, ela vai extender da Classe ActionForm, os form-beans se integram a um formulario 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.java4. Passo: Crie uma Classe, chamada PessoaAction, ela vai extender da Classe Action, e vamos sobrescrever o metodo execute, que funciona como um metodo main, esta Classe ira funcionar como o nosso Controller, o metodo execute, ira retornar um ActionForward, o mapeamento, sera 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.java5. Passo: Vamos criar nossas paginas JSPs, crie uma pagina 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.jsp6. Passo: Crie um JSP, para o formulario:<%@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.jsp7. Passo: Crie, agora a pagina 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" /> Ola <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.jsp8. Passo: Crie, agora a pagina 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" /> Ola <bean:write name="pessoa" property="nome" />. <br /> <br /> VOCE