Struts2 Marco Antonio Abril 2009 Configuração • Criar o Dynamic Web Project conforme a imagem. • Baixar as bibliotecas do Struts2 de http://marcoreis.net/BibliotecasStruts2.zip. • Criar o diretório lib e descompactar as bibliotecas. Logo em seguida, adicione-as no Build Path. Adicione todas as bibliotecas no servidor (Tomcat). • • • Crie os arquivos package.properties, struts.xml, strutsmodulo-gerente.xml no src do projeto. Os demais arquivos serão criados por demanda. 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/webapp_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>SistemaBancarioStruts2Web-</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>com.sistemabancario.apresentacao</param-value> </init-param> </filter> web.xml <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> index.html <html> <body onload="window.location='sb/TelaDeLogin.action'"> Carregando... </body> </html> TelaPrincipal.jsp <%@taglib prefix="s" uri="/struts-tags"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="<s:url value='css/Estilo.css'/>" rel="stylesheet" type="text/css" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>.:Sistema Bancario:.</title> </head> <body> TelaPrincipal.jsp <!-- Inicio da pagina --> <table align="center"> <tr> <td><s:url id="cadastro" action="TelaCadastroDeGerente" /> <s:a href="%{cadastro}">Cadastro de Gerente</s:a> ||</td> <td><s:url id="cadastro" action="TelaConsultaGerentes" /> <s:a href="%{cadastro}">Consulta Gerente</s:a></td> </tr> </table> <table align="center"> <tr> <td> <h1><s:text name="mensagem.sistema" /></h1> </td> </tr> </table> <!-- Fim da pagina --> </body> </html> struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <constant name="struts.custom.i18n.resources" value="package" /> <include file="struts-modulo-gerente.xml" /> <package name="apresentacao" namespace="/sb" extends="struts-default"> <action name="TelaDeLogin"> <result>/Login.jsp</result> </action> </package> </struts> Login.jsp <%@taglib prefix="s" uri="/struts-tags"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title><s:text name="login.titulo" /></title> </head> <body> Login.jsp <!-- Inicio da pagina --> <table border="1" align="center"> <tr> <td><s:form> <s:property value="getText('login.cabecalho')" />(getText) <br /> <s:text name="login.cabecalho" /> <br /> <s:label name="mensagem" theme="simple" /> <br /> <s:textfield name="usuario.login" label="Login:" /> <s:password name="usuario.senha" label="Senha:" /> <s:submit action="BemVindo" value="Ok" /> </s:form></td> </tr> </table> <!-- Fim da pagina --> </body> </html> package.properties # mensagem.sistema=Bem-Vindo ao Sistema Bancario # login.titulo=Login - Sistema Bancario login.cabecalho=Informe login e senha (properties) Login.java package com.sistemabancario.apresentacao; import com.sistemabancario.entidades.*; public class LoginAction { private Usuario usuario; private String mensagem = "Informe login e senha (LoginAction)"; public Usuario getUsuario() { if (usuario == null) { usuario = new Usuario(); } return usuario; } public String getMensagem() { return mensagem; } public void setMensagem(String mensagem) { this.mensagem = mensagem; } Login.java public String efetuarLogin() { if (getUsuario().getSenha().equals("senha")) { return "acessoLiberado"; } else { setMensagem("Senha inv‡lida"); return "acessoNaoLiberado"; } } } struts-modulo-gerente.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="gerente" namespace="/sb" extends="struts-default"> </package> </struts> Para rodar a aplicação • O link para rodar a aplicação: – http://localhost:8080/SistemaBancarioStruts2Web