Apostila Struts PDF
Apostila Struts PDF
Checkbox
[Link]
[Link] 1
01
Apostila Struts2 Aula
Checkbox
Action
[Link] 2
01
Apostila Struts2 Aula
Checkbox
struts2-convention-plugin-[Link].jar
struts2-core-[Link].jar
[Link]
xwork-core-[Link].jar
Estrutura do projeto...
package entity;
public Produto() {
// TODO Auto-generated constructor stub
}
[Link] = idProduto;
super();
[Link] = nome;
[Link] = preco;
}
@Override
public String toString() {
[Link] 3
01
Apostila Struts2 Aula
Checkbox
@Override
public boolean equals(Object c) {
return
}
[Link](((Produto)c).getIdProduto());
package action;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
[Link] 4
01
Apostila Struts2 Aula
Checkbox
import [Link];
[Link] 5
01
Apostila Struts2 Aula
Checkbox
}
return SUCCESS;
} else {
return SUCCESS;
}
return ERROR;
[Link]
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration
2.0//EN"
"[Link]
<struts>
[Link] 6
01
Apostila Struts2 Aula
Checkbox
<action name="home"
class="[Link]"
method="init">
<result name="success">/[Link]</result>
</action>
<action name="[Link]"
class="[Link]"
method="enviar">
<result name="success">/[Link]</result>
<result name="error">/[Link]</result>
</action>
</package>
</struts>
[Link] 7
01
Apostila Struts2 Aula
Checkbox
[Link] 8
01
Apostila Struts2 Aula
Checkbox
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xsi:schemaLocation="[Link]
[Link]
version="3.0">
<display-name>Aula01-checkbox</display-name>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
<welcome-file>[Link]</welcome-file>
<welcome-file>[Link]</welcome-file>
<welcome-file>[Link]</welcome-file>
<welcome-file>[Link]</welcome-file>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
<filter>
[Link] 9
01
Apostila Struts2 Aula
Checkbox
<filter-name>struts2</filter-name>
<filter-
class>[Link]
ecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="bootstrap/css/[Link]">
<script type="text/javascript" src="bootstrap/js/jquery-
[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
</head>
<body>
<div class="container">
<div class="well">
<h3>Aula 1 Struts 2</h3>
</div>
[Link] 10
01
Apostila Struts2 Aula
Checkbox
Clicar no projeto com o botão direito -> Run as -> Run on server
[Link] 11
01
Apostila Struts2 Aula
Checkbox
[Link]
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="bootstrap/css/[Link]">
<script type="text/javascript" src="bootstrap/js/jquery-
[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<title>Sistema Struts2</title>
</head>
<body>
<div class="well">
<h1>Struts 2 com CheckBox</h1>
</div>
</s:form>
</div>
</div>
</body>
[Link] 12
01
Apostila Struts2 Aula
Checkbox
</html>
[Link]
<%@ page language="java" contentType="text/html; charset=ISO-
8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-
8859-1">
<title>Resposta</title>
[Link] 13
01
Apostila Struts2 Aula
Checkbox
<body>
<div class="container">
<div class="well">
<h1>Struts 2 com CheckBox</h1>
<a href="[Link]" class="btn btn-
primary"><span class="glyphicon glyphicon-home"></span> Home</a>
</div>
<h4>Produtos Escolhidos: </h4><br/>
<s:property value="produtosEscolhidos"/>
<br/>
</div>
</body>
</html>
[Link] 14
02
Apostila Struts2 Aula
StrutsTiles
Projeto Tiles
Estrutura do projeto...
LIBS:
[Link]
c3p0-[Link].jar
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link] 1
02
Apostila Struts2 Aula
StrutsTiles
jboss-transaction-api_1.2_spec-[Link]
[Link]
[Link]
[Link]
ojdbc14-[Link].jar
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
package entity;
import [Link];
[Link];
[Link];
import
[Link];
import
[Link];
import
[Link];
import
[Link];
import
[Link];
import
[Link];
import
import
@Entity
@Table
@NamedQueries(
{@NamedQuery(name="[Link]",query="from Cliente"),
@NamedQuery(name="[Link]",
query="from Cliente c where [Link]= :param1")
Serializable{
private static final long serialVersionUID = 1L;
[Link] 2
02
Apostila Struts2 Aula
StrutsTiles
@Id
@GeneratedValue(strategy=[Link])
@Column
private Integer idCliente;
@Column(length=50)
private String nome;
@Column(length=50,unique=true)
private String email;
public Cliente() {
}
@Override
public String toString() {
return "Cliente [idCliente=" + idCliente + ", nome="
+ nome + ", email=" + email + "]";
}
[Link] 3
02
Apostila Struts2 Aula
StrutsTiles
}
return serialVersionUID;
mysql_hibernate.[Link]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate
Configuration DTD 3.0//EN"
"[Link]
[Link]">
<hibernate-configuration>
<session-factory>
<property
name="[Link]">[Link]</pro
perty>
<property
name="[Link].driver_class">[Link]</
property>
<property
name="[Link]">jdbc:mysql://localhost:3306/bd_t
iles?createDatabaseIfNotExist=true</property>
<property
name="[Link]">root</property>
<property
name="[Link]">coti</property>
<property name="hibernate.format_sql">true</property>
<property name="[Link]">update</property>
<mapping class="[Link]"/>
</session-factory>
</hibernate-configuration>
package config;
import [Link];
import [Link];
[Link] 4
02
Apostila Struts2 Aula
StrutsTiles
No console...
log4j:WARN No appenders could be found for logger
([Link]).
log4j:WARN Please initialize the log4j system properly.
[Link] 5
02
Apostila Struts2 Aula
StrutsTiles
package persistence;
import [Link];
import [Link];
[Link];
import
import [Link];
static {
try {
Configuration configuration = new
Configuration().configure("config/mysql_hibernate.[Link]");
StandardServiceRegistryBuilder builder = new
StandardServiceRegistryBuilder().applySettings([Link]
Properties());
[Link] 6
02
Apostila Struts2 Aula
StrutsTiles
sessionFactory =
[Link]([Link]());
} catch (HibernateException ex) {
[Link]("Initial SessionFactory creation
failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
}
return sessionFactory;
}
[Link]();
package persistence;
import [Link];
[Link];
[Link];
import
[Link];
import
[Link];
import
[Link];
import
[Link];
import
import
import [Link];
[Link] 7
02
Apostila Struts2 Aula
StrutsTiles
[Link]();
[Link]();
}
package action;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
[Link] 8
02
Apostila Struts2 Aula
StrutsTiles
[Link]().get(ServletActionContext.HTTP_RE
}
QUEST);
}
return SUCCESS;
}catch(Exception ex){
return SUCCESS;
[Link] 9
02
Apostila Struts2 Aula
StrutsTiles
}
return ERROR;
}
}
[Link]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration
2.0//EN"
"[Link]
<struts>
<constant name="[Link]"
value="false" />
<constant name="[Link]" value="false" />
<constant name="[Link]"
value="ApplicationResources" />
<result-types>
<result-type name="tiles"
class="[Link]" />
</result-types>
[Link] 10
02
Apostila Struts2 Aula
StrutsTiles
<result name="error"
type="tiles">/[Link]</result>
</action>
</package>
</struts>
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0"
xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<listener>
<listener-
class>[Link]</listener-
class>
</listener>
<context-param>
<param-name>tilesDefinitions</param-name>
<param-value>/WEB-INF/[Link]</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-
class>[Link]</filter-
class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
[Link] 11
02
Apostila Struts2 Aula
StrutsTiles
</filter-mapping>
</web-app>
[Link]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration
2.0//EN"
"[Link]
<tiles-definitions>
</tiles-definitions>
[Link] 12
02
Apostila Struts2 Aula
StrutsTiles
[Link]
@CHARSET "ISO-8859-1";
#header {
background-position:50% 0;
background-repeat:repeat no-repeat;
}
#wrap {
margin-bottom:0;
margin-left:auto;
margin-right:auto;
margin-top:0;
overflow-x:hidden;
overflow-y:hidden;
padding-left:10px;
padding-right:10px;
position:relative;
width:980px;
min-height: 400px;
#content {
display:inline;
float:left;
font-size:100%;
line-height:1.6em;
margin:15px;
padding:5px;
text-align:left;
width:580px;
min-height: 400px;
}
#sidebar {
display:inline;
float:left;
margin:15px;
padding:5px;
width:300px;
}
[Link] 13
02
Apostila Struts2 Aula
StrutsTiles
#footer {
background-position:50% 100%;
background-repeat:repeat no-repeat;
clear:both;
height:60px;
margin-bottom:0;
margin-left:auto;
margin-right:auto;
margin-top:0;
padding-bottom:10px;
padding-top:10px;
text-align:center;
}
[Link]
<%@ taglib uri="[Link]
prefix="tiles"%>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-
8">
<title><tiles:insertAttribute name="title" ignore="true"
/></title>
<link rel="stylesheet" type="text/css" media="all"
href="[Link]" />
</head>
<body id="home">
<div id="header">
<tiles:insertAttribute name="header" />
</div>
<div id="wrap">
<div id="content">
<tiles:insertAttribute name="body" />
</div>
[Link] 14
02
Apostila Struts2 Aula
StrutsTiles
<div id="sidebar">
<tiles:insertAttribute name="menu" />
</div>
</div>
<div id="footer">
<tiles:insertAttribute name="footer" />
</div>
</body>
</html>
[Link]
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<div class="container">
<h1 class="well">Struts 2 Example - Tiles</h1>
</div>
[Link]
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<div class="container">
<h4 class="well">
<a
href="[Link]">[Link]</a>
</h4>
</div>
[Link]
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
[Link] 15
02
Apostila Struts2 Aula
StrutsTiles
[Link]
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2</title>
<link rel="stylesheet" href="bootstrap/css/[Link]">
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
</head>
<body>
<div class="container">
<div class="well">
<h2>Projeto - Template - Struts Tilles</h2>
<s:actionerror />
<s:a href="[Link]">Entrar no Sistema</s:a>
</div>
</div>
</body>
</html>
[Link] 16
02
Apostila Struts2 Aula
StrutsTiles
[Link]
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<%@taglib prefix="s" uri="/struts-tags"%>
<link rel="stylesheet" href="bootstrap/css/[Link]" />
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
</head>
<body>
<div class="col-sm-12">
<div class="well">
Bem vindo ao Struts 2
<a
href="[Link]
<br>
[Link] 17
02
Apostila Struts2 Aula
StrutsTiles
</html>
[Link] 18
02
Apostila Struts2 Aula
StrutsTiles
[Link]
<!DOCTYPE html>
<html>
<head>
<%@ taglib prefix="s" uri="/struts-tags"%>
<link rel="stylesheet" href="bootstrap/css/[Link]">
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
</head>
<body>
<div class="jumbotron">
<ul class="nav nav-tabs">
<li><a href="#">Cadastrar Cliente</a>
</li>
</ul>
<p/>
<div class="row">
<s:form action="[Link]" cssClass="form1">
<div class="col-sm-10">
<label for="nome">Nome:</label>
<input type="text" id="nome" name="[Link]"
class="form-control" />
</div>
<div class="col-sm-10">
<label for="Email">Email:</label>
<input type="text" id="email" name="[Link]"
class="form-control" />
</div>
<div class="col-sm-10">
<br/>
<input type="submit" value="Cadastrar Cliente"
class="btn btn-primary" />
</div>
<p/>
<div class="col-sm-10">
[Link] 19
02
Apostila Struts2 Aula
StrutsTiles
${msg}
</div>
</s:form>
</div>
</div>
</body>
</html>
[Link] 20
02
Apostila Struts2 Aula
StrutsTiles
Cadastrando...
Cadastrado..
[Link] 21
02
Apostila Struts2 Aula
StrutsTiles
[Link]
<%@ page language="java" contentType="text/html; charset=ISO-
8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html >
<html>
<head>
<%@taglib prefix="s" uri="/struts-tags"%>
<link rel="stylesheet" href="bootstrap/css/[Link]" />
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
</head>
<body>
<div>
<ul class="nav nav-tabs">
<li class="active"><a href="#">Consultar
Cliente</a></li>
</ul>
<div class="col-sm-12">
<table class="table table-hover">
<thead>
<tr>
<th>IdCliente</th>
<th>Nome</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<s:iterator value="lista">
<tr>
<td><s:property
value="idCliente" /></td>
<td><s:property
value="nome" /></td>
[Link] 22
02
Apostila Struts2 Aula
StrutsTiles
<td><s:property
value="email" /></td>
</tr>
</s:iterator>
</tbody>
</table>
</div>
</div>
</body>
[Link] 23
02
Apostila Struts2 Aula
StrutsTiles
[Link]
error page.
[Link] 24
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
Estrutura do preojeto...
LIBS:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
struts2-convention-plugin-[Link].jar
struts2-core-[Link].jar
[Link]
xwork-core-[Link].jar
package entity;
[Link] 1
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
public Cliente() {
// TODO Auto-generated constructor stub
}
[Link] = idCliente;
super();
[Link] = nome;
[Link] = email;
}
@Override
public String toString() {
return "Cliente [idCliente=" + idCliente + ", nome="
+ nome + ", email=" + email + "]";
}
@Override
public boolean equals(Object c) {
return
}
[Link](((Cliente)c).getIdCliente());
[Link] 2
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
package action;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
[Link];
import
[Link]
import
dator;
[Link];
import
import [Link];
[Link] 3
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
[Link] = cliente;
}
public List<Cliente> getLista() {
lista = new ArrayList<Cliente>();
[Link](new Cliente(10,"joao","joao@[Link]"));
[Link](new Cliente(20,"maria","maria@[Link]"));
[Link](new Cliente(30,"ana","ana@[Link]"));
return lista;
}
public void setLista(List<Cliente> lista) {
[Link] = lista;
}
@Action(value="home", results={
@Result(name=SUCCESS,location="[Link]"),
@Result(name=INPUT,location="[Link]")})
public String init(){
getLista();
}
return SUCCESS;
@Action(value="gravar", results={
@Result(name=SUCCESS,location="[Link]"),
@Result(name=ERROR,location="[Link]")})
public String cadastrar(){
HttpServletRequest request=(HttpServletRequest)
[Link]().get(ServletActionContext.HTTP_RE
QUEST);
[Link](idEscolhido);
getLista();
cliente = [Link]([Link](c));
[Link]("msg", "<b>Cliente
Escolhido: </b>" + cliente);
}catch(Exception ex){
return SUCCESS;
[Link]();
[Link]("msg", "Error :" + [Link]());
}
}
return ERROR;
[Link] 4
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xmlns:web="[Link]
xsi:schemaLocation="[Link]
[Link]
id="WebApp_ID" version="3.0">
<display-name>StudentEnrollmentWithStruts</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-
class>[Link]
ecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
[Link]
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="css/[Link]">
<script type="text/javascript" src="js/jquery-
[Link]"></script>
<script type="text/javascript" src="js/[Link]"></script>
</head>
<body>
<div class="container">
<div class="well">
[Link] 5
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
<h2>Struts Annotation</h2>
</div>
<a href="[Link]">Entrar no Sistema <span
class="glyphicon glyphicon-log-in"></span> </a>
</div>
</body>
</html>
[Link]
<!DOCTYPE html>
<html>
<head>
<%@ taglib prefix="s" uri="/struts-tags"%>
<link rel="stylesheet" href="css/[Link]">
<script type="text/javascript" src="js/[Link]"></script>
<script type="text/javascript" src="js/[Link]"></script>
</head>
<body>
<div class="container">
[Link] 6
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
<div class="well">
<h2>Struts Annotation</h2>
</div>
<div class="col-sm-10">
<br />
<s:submit value="Enviar Dados" cssClass="btn btn-primary" />
</div>
</s:form>
<br /> ${msg}
</div>
</div>
</div>
</div>
</div>
</body>
</html>
[Link] 7
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
[Link]
<%@ page language="java" contentType="text/html; charset=ISO-
8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-
8859-1">
<title>Resposta</title>
<link rel="stylesheet" href="css/[Link]">
<script type="text/javascript" src="js/[Link]"></script>
<script type="text/javascript" src="js/[Link]"></script>
</head>
<body>
<div class="container">
<div class="well">
[Link] 8
03
Apostila Struts2 Aula
Aula03-struts_Annotation_Bootstrap
<h2>Struts Annotation</h2>
</div>
${msg}
</div>
</body>
</html>
[Link] 9
04
Apostila Struts2 Aula
struts2_crud
Estrutura do projeto...
LIBS:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
jcommon_javadoc.jar
[Link] 1
04
Apostila Struts2 Aula
struts2_crud
jcommon_source.jar
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
package entity;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Entity
@Table
@NamedQueries({
@NamedQuery(name="[Link]",query="from Usuario"),
@NamedQuery(name="[Link]",
query="from Usuario u where [Link] =:param1 and [Link]
=:param2")
Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=[Link])
@Column
[Link] 2
04
Apostila Struts2 Aula
struts2_crud
@Column(unique=true, length=50,nullable=false)
private String email;
@Column(length=50, nullable=false)
private String nome;
public Usuario() {
}
@Override
public String toString() {
return "Usuario [idUsuario=" + idUsuario + ", email="
+ email + ", nome=" + nome + ", perfil=" + perfil + "]";
}
[Link] 3
04
Apostila Struts2 Aula
struts2_crud
return nome;
}
public void setNome(String nome) {
[Link] = nome;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
[Link] = senha;
}
public String getPerfil() {
return perfil;
}
public void setPerfil(String perfil) {
[Link] = perfil;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
mysql_hibernate.[Link]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate
Configuration DTD 3.0//EN"
"[Link]
[Link]">
<hibernate-configuration>
<session-factory>
<property
name="[Link]">[Link]</pro
perty>
<property
name="[Link].driver_class">[Link]</
property>
<property name="[Link]">
jdbc:mysql://localhost:3306/struts2?createDatabaseIfNotExist=tru
e</property>
<property
name="[Link]">root</property>
[Link] 4
04
Apostila Struts2 Aula
struts2_crud
<property
name="[Link]">coti</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="[Link]">update</property>
<mapping class="[Link]"/>
</session-factory>
</hibernate-configuration>
package config;
import [Link];
import [Link];
import [Link];
No console...
[Link] 5
04
Apostila Struts2 Aula
struts2_crud
package type;
ADMINISTRADOR("adm"),USUARIO("usu"),GUEST("guest");
PerfilUsuario(String perfil){
[Link] = perfil;
}
[Link] 6
04
Apostila Struts2 Aula
struts2_crud
package control;
import [Link];
import [Link];
import [Link];
import [Link];
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init() {
// TODO Auto-generated method stub
}
@Override
public String intercept(ActionInvocation invocation) throws
Exception {
HttpServletResponse response =
[Link]();
[Link]("Chegou no Intercept ------------------");
[Link]("Cache-Control", "no-cache, no-store");
[Link]("Pragma", "no-cache");
[Link]("Expires", 0);
return [Link]();
}
}
package control;
import [Link];
import [Link];
import [Link];
import [Link];
[Link] 7
04
Apostila Struts2 Aula
struts2_crud
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
{
public Filtro() {
}
[Link] 8
04
Apostila Struts2 Aula
struts2_crud
package control;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
//Nome do Objeto
private Usuario usuario; //Classe Usuario
private List <Usuario> lista;
HttpServletRequest request;
HttpSession session; //Irei trabalhar com Sessão
public UsuarioAction() {
usuario = new Usuario(); //espaço no Construtor
lista =new ArrayList<Usuario>(); //construtor
}
@Override
public Usuario getModel() {
return usuario;
}
public Usuario getUsuario() {
return usuario;
[Link] 9
04
Apostila Struts2 Aula
struts2_crud
}
public void setUsuario(Usuario usuario) {
[Link] = usuario;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
[Link] 10
04
Apostila Struts2 Aula
struts2_crud
session = [Link](true);
try{
Usuario resp = new UsuarioDao().findByLogin(usuario);
if (resp!=null){
usuario = new Usuario();
[Link]("usuario", resp);
[Link]("msg","Logado Com Sucesso");
return SUCCESS;
} else{
[Link]("usuario", null); //limpa
}
[Link]("msg", "Usuario NAO LOGADO");
return INPUT; //[Link]
}catch(Exception ex){
[Link]("msg", "Error :" + [Link]());
return ERROR; //[Link]
}
}
[Link] 11
04
Apostila Struts2 Aula
struts2_crud
package persistence;
import [Link];
import [Link];
static {
try {
sessionFactory = new AnnotationConfiguration().
configure("config/mysql_hibernate.[Link]").buildSessionFactory(
);
} catch (Throwable ex) {
[Link]("Initial SessionFactory creation
failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
package persistence;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].SimpleMD5;
import [Link];
[Link] 12
04
Apostila Struts2 Aula
struts2_crud
[Link] 13
04
Apostila Struts2 Aula
struts2_crud
[Link]
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration
2.0//EN"
"[Link]
<struts>
<package name="usuarioaction" extends="struts-default">
<interceptors>
<interceptor name="caching"
class="[Link]"/>
<interceptor-stack name="cachingStack">
<interceptor-ref name="caching" />
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token"/>
</interceptor-stack>
</interceptors>
<action name="[Link]"
class="[Link]"
method="gravar">
<result name="success">/[Link]</result>
<result name="input">/[Link]</result>
<result name="error">/[Link]</result>
</action>
<action name="[Link]"
class="[Link]"
method="listar">
<result name="success">/[Link]</result>
</action>
<action name="[Link]"
class="[Link]"
method="logar">
<interceptor-ref name="cachingStack"/>
<result name="success">/usu/[Link]</result>
<result name="input">/[Link]</result>
<result name="error">/[Link]</result>
<result name="[Link]">/[Link]</result>
</action>
<action name="[Link]"
[Link] 14
04
Apostila Struts2 Aula
struts2_crud
class="[Link]"
method="logout">
<result name="input">/usu/[Link]</result>
<result name="success">/[Link]</result>
<result name="error">/[Link]</result>
</action>
</package>
</struts>
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xsi:schemaLocation="[Link]
[Link]
id="WebApp_ID" version="3.1">
<filter>
<filter-name>struts2</filter-name>
<filter-
class>[Link]</filter-
class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>
[Link] 15
04
Apostila Struts2 Aula
struts2_crud
[Link]
<!doctype html>
<html>
<body>
<div class="container">
<div class="well">
<h2>Bem Vindo ao Sistema Struts2</h2>
<a href="[Link]" class="btn btn-
primary">Entrar No Sistema <span class="glyphicon glyphicon-log-
in"></span></a>
</div>
[Link] 16
04
Apostila Struts2 Aula
struts2_crud
</div>
</div>
</div>
</body>
</html>
[Link]
<!DOCTYPE html>
<html>
<head>
<%@ taglib prefix="s" uri="/struts-tags"%>
<link rel="stylesheet" href="css/[Link]">
[Link] 17
04
Apostila Struts2 Aula
struts2_crud
<body>
<div class="container">
<div class="well">
<h2>Cadastro de Usuário em Struts2</h2>
<s:a href="[Link]" cssClass="btn btn-success">Home
<span class="glyphicon glyphicon-home"></span> </s:a>
<s:a href="[Link]" cssClass="btn btn-
warning">Consultar os Dados
<span class="glyphicon glyphicon-search"></span></s:a>
</div><!-- FECHA WELL -->
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<s:form method="post" action="[Link]">
<br />
<input type="hidden" name="[Link]" value="usu">
[Link] 18
04
Apostila Struts2 Aula
struts2_crud
${msg}
</div><!-- FECHA COL -->
</div> <!-- FECHA CONTAINER -->
</body>
</html>
[Link] 19
04
Apostila Struts2 Aula
struts2_crud
Cadastrando...
[Link] 20
04
Apostila Struts2 Aula
struts2_crud
Cadastrado...
Aba de Logar...
[Link] 21
04
Apostila Struts2 Aula
struts2_crud
Logando...
Logado...
[Link] 22
04
Apostila Struts2 Aula
struts2_crud
[Link]
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="css/[Link]">
<script type="text/javascript" src="js/jquery-
[Link]"></script>
<script type="text/javascript" src="js/[Link]"></script>
</head>
<body>
<div class="container">
<div class="well">
<h2>Página de Erro do Sistema Struts2</h2>
<a href="[Link]" class="btn btn-primary">Sistema
<span class="glyphicon glyphicon-log-in"></span></a>
</div><!-- FECHA WELL -->
</body>
</html>
[Link] 23
04
Apostila Struts2 Aula
struts2_crud
[Link]
<!DOCTYPE html>
<html>
<head>
<%@ taglib prefix="s" uri="/struts-tags"%>
<link rel="stylesheet" href="css/[Link]">
<script type="text/javascript" src="js/jquery-
[Link]"></script>
<script type="text/javascript" src="js/[Link]"></script>
</head>
<body>
<div class="container">
<div class="well">
<h2>Consulta Struts Usuários</h2>
<s:a href="[Link]" cssClass="btn btn-success">Home
<span class="glyphicon glyphicon-home"></span></s:a>
</div><!-- FECHA WELL -->
[Link] 24
04
Apostila Struts2 Aula
struts2_crud
<div class="panel-heading">
<div class="panel-title">Consulta</div>
</div><!-- FECHA PANEL HEADING -->
<div class="panel-body">
<table class="table table-hover">
<tr>
<td>Nome</td>
<td>Email</td>
<td>Perfil</td>
</tr>
<s:iterator value="lista">
<tr>
<td><s:property value="nome" /></td>
<td><s:property value="email" /></td>
<td><s:property value="perfil" /></td>
</tr>
</s:iterator>
</table>
</body>
</html>
[Link] 25
04
Apostila Struts2 Aula
struts2_crud
[Link] 26
04
Apostila Struts2 Aula
struts2_crud
usu/[Link]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="must-revalidate">
<%
[Link]("Cache-Control", "no-cache");
[Link]("Cache-Control", "no-store");
[Link]("Expires", -1);
[Link]("Pragma", "no-cache");
%>
<body>
<div class="container">
<div class="well">
<h3>Página de Usuário Struts2</h3>
<s:a href="[Link]" cssClass="btn
btn-danger">Logout <span class="glyphicon glyphicon-log-
out"></span> </s:a>
</div>
<!-- FECHA WELL -->
<%
try {
if ([Link]("usuario") != null) {
Usuario resp = (Usuario) [Link]("usuario");
//Imprime o Nome, ScriptLet ...
[Link]([Link]());
}
[Link] 27
04
Apostila Struts2 Aula
struts2_crud
</div>
<!-- FECHA CONTAINER -->
</body>
</html>
[Link] 28
05
Apostila Struts2 Aula
Estrutura do Projeto...
LIBS:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link] 1
05
Apostila Struts2 Aula
[Link]
[Link]
[Link]
[Link]
[Link]
package entity;
[Link];
[Link];
import
[Link];
import
[Link];
import
[Link];
import
import
@Id
@GeneratedValue(strategy = [Link])
private Integer idCliente;
@Column(length = 35)
private String nome;
public Cliente() {
[Link] 2
05
Apostila Struts2 Aula
mysql_hibernate.[Link]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate
Configuration DTD 3.0//EN"
"[Link]
[Link]">
<hibernate-configuration>
<session-factory>
<property
name="[Link]">[Link]</pro
perty>
<property
name="[Link].driver_class">[Link]</
property>
<property
name="[Link]">jdbc:mysql://localhost:3306/stru
ts2?createDatabaseIfNotExist=true</property>
<property
name="[Link]">root</property>
<property
name="[Link]">1234</property>
<property name="hibernate.show_sql">true</property>
[Link] 3
05
Apostila Struts2 Aula
<property name="hibernate.format_sql">true</property>
<property name="[Link]">true</property>
<mapping class="[Link]"/>
</session-factory>
</hibernate-configuration>
package config;
import [Link];
import [Link];
import [Link];
No console...
log4j:WARN No appenders could be found for logger
([Link]).
log4j:WARN Please initialize the log4j system properly.
[Link] 4
05
Apostila Struts2 Aula
package persistence;
import [Link];
import [Link];
static {
try {
sessionFactory = new
AnnotationConfiguration().configure("config/mysql_hibernate.cfg.
xml").buildSessionFactory();
} catch (Throwable ex) {
[Link]("Initial SessionFactory creation
failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
[Link] 5
05
Apostila Struts2 Aula
}
return sessionFactory;
package persistence;
import [Link];
[Link];
[Link];
import
[Link];
import
[Link];
import
import
import [Link];
[Link] 6
05
Apostila Struts2 Aula
[Link]();
[Link]();
}
package control;
[Link];
[Link];
import
[Link];
import
[Link];
import
[Link];
import
[Link];
import
[Link];
import
import
import [Link];
public ClienteAction() {
cliente = new Cliente();
[Link] 7
05
Apostila Struts2 Aula
}
return serialVersionUID;
}
return ERROR;
}
return SUCCESS;
[Link] 8
05
Apostila Struts2 Aula
}
return ERROR;
}
return SUCCESS;
}
return SUCCESS;
[Link]
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration
2.0//EN"
"[Link]
<struts>
<package name="clienteaction" extends="struts-default">
<action name="[Link]"
class="[Link]" method="cadastrarCliente">
<result name="success">/[Link]</result>
<result name="error">/[Link]</result>
</action>
<action name="[Link]"
class="[Link]" method="deletarCliente">
<result name="success">/[Link]</result>
<result name="error">/[Link]</result>
</action>
[Link] 9
05
Apostila Struts2 Aula
<action name="[Link]"
class="[Link]" method="listarClientes">
<result name="success">/[Link]</result>
</action>
</package>
</struts>
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xsi:schemaLocation="[Link]
[Link]
version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-
class>[Link]</filter-
class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>
[Link] 10
05
Apostila Struts2 Aula
[Link]
<!DOCTYPE html>
<html lang ="pt-BR">
<head>
<meta charset="utf-8">
<title>Struts2</title>
</head>
<body>
<h2 class="jumbotron">Projeto STRUTS 2.0</h2>
<div class="container">
<a href="[Link]" class="btn btn-success">
<span class="glyphicon glyphicon-floppy-disk"></span>
Cadastrar </a>
<div class="conteudo">
<p>
Struts2 Voce tem FrameWork Potente em relacao a
Defesa a Segurança ....
</p>
[Link] 11
05
Apostila Struts2 Aula
[Link]
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-
8859-1">
<title>Cadastro</title>
[Link] 12
05
Apostila Struts2 Aula
</head>
<body>
<h2 class="jumbotron">Projeto STRUTS 2.0</h2>
<div class="container">
<a href="[Link]" class="btn btn-primary"> <span
class="glyphicon glyphicon-home"></span> Home
</a>
<button class="btn btn-success" data-
toggle="modal" data-target="#janela"> Cadastrar Cliente <span
class="glyphicon glyphicon-user"></span>
</button>
<a href="[Link]" class="btn btn-
warning">
<span class="glyphicon glyphicon-search"></span> Consultar
Cliente
</a><br /> <br />
<div class="modal-header">
<h3>Cadastro de Usuário</h3>
</div>
<div class="modal-body">
<div class="form-group">
<label>Sexo:</label>
<input type="radio" name="[Link]" value="m"
[Link] 13
05
Apostila Struts2 Aula
checked="checked" >Masculino
<input type="radio" name="[Link]" value="f">Feminino
</div><!-- FECHA FORM-GROUP -->
</s:form>
</div><!-- FECHA DIV MODAL-BODY -->
</div><!-- FECHA MDOAL CONTENT -->
</div><!-- FECHA MODAL-DIALOG -->
</div><!-- FECHA MODAL FADE -->
</div><!-- FECHA CONTAINER -->
</body>
</html>
[Link] 14
05
Apostila Struts2 Aula
Clicando em cadastrar...
Cadastrando...
[Link] 15
05
Apostila Struts2 Aula
[Link]
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<title>Consulta</title>
<s:head/></head>
<div class="container">
<h4>${msg}</h4>
[Link] 16
05
Apostila Struts2 Aula
<td><b>Excluir</b></td>
</tr>
</body>
</html>
[Link] 17
05
Apostila Struts2 Aula
Apagando carol...
[Link] 18
05
Apostila Struts2 Aula
[Link]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<title>Erro</title>
<style type="text/css">
body {
background-image: url("img/[Link]");
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
}
</style>
</head>
<body>
<div class="container">
<br/>
<a href="[Link]" class="btn btn-primary">
<span class="glyphicon glyphicon-home"></span> Home
</a>
<h4>${msg}</h4>
</div><!-- FECHA CONTAINER -->
</body>
</html>
[Link] 19
05
Apostila Struts2 Aula
[Link] 20
06
Apostila Struts2 Aula
Estrutura do projeto...
LIBS:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
struts2-convention-plugin-[Link].jar
struts2-core-[Link].jar
[Link]
xwork-core-[Link].jar
[Link] 1
06
Apostila Struts2 Aula
package entity;
public Cliente() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Cliente [idCliente=" + idCliente + ", nome="
+ nome + ", email=" + email + "]";
}
[Link] 2
06
Apostila Struts2 Aula
@Override
public boolean equals(Object c) {
return
[Link](((Cliente)c).getIdCliente());
}
}
package action;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
[Link] 3
06
Apostila Struts2 Aula
try{
QUEST);
[Link]
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration
2.0//EN"
"[Link]
[Link] 4
06
Apostila Struts2 Aula
<struts>
<action name="home"
class="[Link]"
method="init">
<result name="success">/[Link]</result>
</action>
<action name="[Link]"
class="[Link]"
method="enviar">
<result name="success">/[Link]</result>
<result name="error">/[Link]</result>
</action>
</package>
</struts>
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0"
xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<display-name>struts2_select_bootstrap</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-
class>[Link]
ecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
[Link] 5
06
Apostila Struts2 Aula
[Link]
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-
8859-1">
<link rel="stylesheet" href="bootstrap//css/[Link]">
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<script type="text/javascript"
src="bootstrap/js/[Link]"></script>
<title>Index</title>
</head>
<body>
<div class="container">
<div class="well">
<h2><center>Sistema Struts2</center></h2>
<a href="[Link]" class="btn btn-primary">
<span class="glyphicon glyphicon-log-in"></span>
Entrar no Sistema</a>
</div>
</div>
</body>
</html>
[Link] 6
06
Apostila Struts2 Aula
[Link]
<!DOCTYPE html>
<html>
<head>
<body>
<div class="container">
<div class="col-sm-offset-1 col-sm-10">
<div class="jumbotron">
<ul class="nav nav-tabs">
<li class="active"><a
href="#">Escolher Cliente</a></li>
</ul><p />
[Link] 7
06
Apostila Struts2 Aula
<div class="row">
<div class="col-sm-6 col-sm-offset-2">
<s:form id="form1" action="[Link]"
cssClass="form" method="post">
<s:select list="lista"
cssClass="form-control"
listKey="idCliente"
listValue="nome"
name="idEscolhido"
headerValue="Escolha o CLiente"
headerKey="0" />
<br/>
<s:submit value="Enviar Dados" cssClass="btn btn-primary" />
</s:form>
<br /> ${msg}
</div>
</div>
</div>
</div>
</div>
</body>
</html>
[Link] 8
06
Apostila Struts2 Aula
Escolhendo o cliente...
[Link]
<%@ page language="java" contentType="text/html; charset=ISO-
8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<body>
[Link] 9
06
Apostila Struts2 Aula
<div class="container">
<div class="well">
<h3><center>Resposta da Seleção</center></h3>
<a href="[Link]" class="btn btn-primary"><span
class="glyphicon glyphicon-home"></span> Home</a>
</div>
<div class="well">
${msg}
</div>
</div>
</body>
</html>
[Link] 10