Você está na página 1de 32

Tutorial Desenvolvendo uma Aplicao CRUD para Web a partir de um diagrama de classes da UML

1) Vamos criar uma aplicao que faz realiza as funcionalidades CRUD de todas as entidades
especificadas pelo diagrama de classes abaixo.

2) Crie um novo Dynamic eb !ro"ect c#amado !ro"eto$Crud configurado com o %ibernate&


'() e *y(+,.

3) -bra o arquivo persistence.xml dentro da pasta src.*/0-123) e preenc#a1o com o seguinte


c4digo5
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.or /2001/!"#$chema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence% http://java.sun.com/xml/ns/persistence/persistence&2&0.xs'"> <persistence-unit name="(rojeto&)ru'" transaction-type="*+$,U*)+&#,)-#"> <provider>org.hibernate.ejb.Hibernate ersistence<!provider> <properties> <property name="javax.persistence.j'.c.url" value="j'.c:m/s0l://localhost:3301/cru'"!> <property name="javax.persistence.j'.c.user" value="root"!> <property name="javax.persistence.j'.c.passwor'" value="root"!> <property name="javax.persistence.j'.c.'river" value="com.m/s0l.j'.c.2river"!> <property name="hi.ernate.h.m2''l.auto" value="up'ate"!> <property name="hi.ernate.show&s0l" value="true"!> <!properties>

<!persistence-unit> <!persistence>

4) Dentro da pasta src do !ro"eto$Crud vamos criar 6 pacotes5 modelo& fac#ada& converters e
beansgerenciados. !ara criar um novo pacote dentro da pasta src& basta clicar com o boto direito do mouse sobre a pasta src e ir em 3e7 8 9t#er.. 8 !ac:age.

5) - estrutura do !ro"eto deve ficar como mostra a figura abaixo5

6) -gora& vamos criar as classes em 'ava que representam esse diagrama. !ara isso& devemos
criar 6 classes dentro do pacote modelo5 !essoa& -luno& Curso e Disciplina. 0odas devem conter os atributos especificados no diagrama e as anota;es para realizar a persist<ncia em banco de dados. (egue abaixo o c4digo fonte das 6 classes5

Pessoa.java
package modelo" import java.io.#eriali$able" import javax.persistence.%" import java.util.&ate" '(ntity ')nheritance*strategy = )nheritance+ype.3,45+2, '+able*name = -pessoa-,

public class

essoa implements #eriali$able .

private static final long serial6ersionU42 = /L" ')d '0olumn*name = -0 1-2 nullable=false, private #tring cp3" '4asic*optional = false, '0olumn*name = -567(-2 nullable=false, private #tring nome" '4asic*optional = false, '0olumn*name = -&8+858#0)7(5+6-2 nullable=false, private &ate data5ascimento" '4asic*optional = false, '0olumn*name = -+(L(165(-2 nullable=true, private #tring tele3one" public 9 essoa*, .

public #tring get0p3*, . return cp3" 9 public void set0p3*#tring cp3, . this.cp3 = cp3" 9 public #tring get5ome*, . return nome" 9 public void set5ome*#tring nome, . this.nome = nome" 9 public &ate get&ata5ascimento*, . return data5ascimento" 9 public void set&ata5ascimento*&ate data5ascimento, . this.data5ascimento = data5ascimento" 9 public #tring get+ele3one*, . return tele3one" 9 public void set+ele3one*#tring tele3one, . this.tele3one = tele3one" 9 '6verride public boolean e:uals*6bject object, . !! TODO: ;arning - this method <on=t <or> in the case the id 3ields are not set if *?*object instanceof essoa,, . return false" 9 essoa other = * essoa, object" if *?*this.get0p3*,.e:uals*other.get0p3*,,,, . return false" 9 return true" 9 9

Aluno.java
package modelo" import java.io.#eriali$able" import javax.persistence.%" '(ntity '+able*name = -aluno-, public class 8luno extends

essoa implements #eriali$able .

private static final long serial6ersionU42 = /L" '4asic*optional = false, '0olumn*name = -@8-2 nullable=false, private int ra" '4asic*optional = false, '0olumn*name = -(78)L-2 nullable=false, private #tring email" '4asic*optional = false, '0olumn*name = -(#06L8@)&8&(-2 nullable=true, private #tring escolaridade" 'Aoin0olumn*name = -0B@#6C)&-2 re3erenced0olumn5ame = -)&-2 nullable=false, '7any+o6ne private 0urso curso" public 8luno*, . 9 public int get@a*, . return ra" 9 public void set@a*int ra, . this.ra = ra" 9 public #tring get(mail*, . return email" 9 public void set(mail*#tring email, . this.email = email" 9 public #tring get(scolaridade*, . return escolaridade" 9 public void set(scolaridade*#tring escolaridade, . this.escolaridade = escolaridade" 9 public 0urso get0urso*, . return curso" 9 public void set0urso*0urso curso, . this.curso = curso" 9 '6verride public boolean e:uals*6bject object, . !! TODO: ;arning - this method <on=t <or> in the case the id 3ields are not set if *?*object instanceof 8luno,, . return false" 9 8luno other = *8luno, object" if *?*this.get0p3*,.e:uals*other.get0p3*,,,, . return false" 9 return true" 9 9

Curso.java

package modelo" import java.io.#eriali$able" import javax.persistence.%" '(ntity

'+able*name = -curso-, public class 0urso implements #eriali$able . private static final long serial6ersionU42 = /L" ')d 'DeneratedEalue*strategy = Deneration+ype.42+5T4T7, '0olumn*name = -)&-2 nullable=false, private int id" '4asic*optional = false, '0olumn*name = -567(-2 nullable=false, private #tring nome" '4asic*optional = false, '0olumn*name = -567(&( 8@+87(5+6-2 nullable=false, private #tring nome&epartamento" '4asic*optional = false, '0olumn*name = -08@D8H6@8@)8-2 nullable=true, private int cargaHoraria" public 0urso*, . 9 public int get)d*, . return id" 9 public void set)d*int id, . this.id = id" 9 public #tring get5ome*, . return nome" 9 public void set5ome*#tring nome, . this.nome = nome" 9 public #tring get5ome&epartamento*, . return nome&epartamento" 9 public void set5ome&epartamento*#tring nome&epartamento, . this.nome&epartamento = nome&epartamento" 9 public int get0argaHoraria*, . return cargaHoraria" 9 public void set0argaHoraria*int cargaHoraria, . this.cargaHoraria = cargaHoraria" 9 '6verride public boolean e:uals*6bject object, . !! TODO: ;arning - this method <on=t <or> in the case the id 3ields are not set if *?*object instanceof 0urso,, . return false" 9 0urso other = *0urso, object" if *?*this.get)d*, == other.get)d*,,, . return false" 9 return true" 9 9

Disciplina.java
package modelo" import java.io.#eriali$able"

import javax.persistence.%" import modelo.0urso" '(ntity '+able*name = -disciplina-, public class &isciplina implements #eriali$able . private static final long serial6ersionU42 = /L" ')d 'DeneratedEalue*strategy = Deneration+ype.42+5T4T7, '0olumn*name = -)&-2 nullable=false, private int id" '4asic*optional = false, '0olumn*name = -567(-2 nullable=false, private #tring nome" '4asic*optional = false, '0olumn*name = -FB85+)&8&(0@(&)+6#-2 nullable=true, private int :uantidade0reditos" '4asic*optional = false, '0olumn*name = -567( @61(##6@-2 nullable=true, private #tring nome ro3essor" 'Aoin0olumn*name = -0B@#6C)&-2 re3erenced0olumn5ame = -)&-2 nullable=false, '7any+o6ne private 0urso curso" public &isciplina*, . 9 public int get)d*, . return id" 9 public void set)d*int id, . this.id = id" 9 public #tring get5ome*, . return nome" 9 public void set5ome*#tring nome, . this.nome = nome" 9 public int getFuantidade0reditos*, . return :uantidade0reditos" 9 public void setFuantidade0reditos*int :uantidade0reditos, . this.:uantidade0reditos = :uantidade0reditos" 9 public #tring get5ome ro3essor*, . return nome ro3essor" 9 public void set5ome ro3essor*#tring nome ro3essor, . this.nome ro3essor = nome ro3essor" 9 public 0urso get0urso*, . return curso" 9 public void set0urso*0urso curso, . this.curso = curso" 9 '6verride public boolean e:uals*6bject object, . !! TODO: ;arning - this method <on=t <or> in the case the id 3ields are not set if *?*object instanceof &isciplina,, . return false" 9 &isciplina other = *&isciplina, object" if *?*this.get)d*, == other.get)d*,,, . return false" 9

return true" 9 9

7)

-gora& vamos criar as classes no padro )ac#ada para acesso das classes !essoa& -luno& Disciplina e Curso ao banco de Dados. 2remos criar = novas classes dentro do pacote fac#ada& sendo5 -bstract)acade& !essoa)acade& -luno)acade& Curso)acade e Disciplina)acade. (egue abaixo o c4digo de cada uma dessas classes5 AbstractFacade.java
pac>age 3achada" import import import import java.util.List" javax.persistence.(ntity7anager" javax.persistence.(ntity7anager1actory" javax.persistence. ersistence"

public abstract class 8bstract1acade<+> . private 0lass<+> entity0lass" protected static (ntity7anager1actory em3 = ersistence.create(ntity7anager1actory*- rojetoC0rud-," public 8bstract1acade*0lass<+> entity0lass, . this.entity0lass = entity0lass" 9 protected abstract (ntity7anager get(ntity7anager*," public void create*+ entity, . try . get(ntity7anager*,.get+ransaction*,.begin*," get(ntity7anager*,.persist*entity," get(ntity7anager*,.get+ransaction*,.commit*," 9 catch *(xception e, . e.print#tac>+race*," 9 9 public void edit*+ entity, . try . get(ntity7anager*,.get+ransaction*,.begin*," get(ntity7anager*,.merge*entity," get(ntity7anager*,.get+ransaction*,.commit*," 9 catch *(xception e, . e.print#tac>+race*," 9 9 public void remove*+ entity, . try . get(ntity7anager*,.get+ransaction*,.begin*," get(ntity7anager*,.remove*get(ntity7anager*,.merge*entity,," get(ntity7anager*,.get+ransaction*,.commit*," 9 catch *(xception e, . e.print#tac>+race*," 9 9 public + 3ind*6bject id, . return get(ntity7anager*,.3ind*entity0lass2 id," 9

'#uppress;arnings*. -unchec>ed-2 -ra<types- 9, public List<+> 3ind8ll*, . javax.persistence.criteria.0riteriaFuery c: = get(ntity7anager*,.get0riteria4uilder*,.createFuery*," c:.select*c:.3rom*entity0lass,," return get(ntity7anager*,.createFuery*c:,.get@esultList*," 9 '#uppress;arnings*. -unchec>ed-2 -ra<types- 9, public List<+> 3ind@ange*intGH range, . javax.persistence.criteria.0riteriaFuery c: = get(ntity7anager*,.get0riteria4uilder*,.createFuery*," c:.select*c:.3rom*entity0lass,," javax.persistence.Fuery : = get(ntity7anager*,.createFuery*c:," :.set7ax@esults*rangeG/H - rangeGIH," :.set1irst@esult*rangeGIH," return :.get@esultList*," 9 '#uppress;arnings*. -unchec>ed-2 -ra<types- 9, public int count*, . javax.persistence.criteria.0riteriaFuery c: = get(ntity7anager*,.get0riteria4uilder*,.createFuery*," javax.persistence.criteria.@oot<+> rt = c:.3rom*entity0lass," c:.select*get(ntity7anager*,.get0riteria4uilder*,.count*rt,," javax.persistence.Fuery : = get(ntity7anager*,.createFuery*c:," return **Long, :.get#ingle@esult*,,.intEalue*," 9 9

PessoaFacade.java
pac>age 3achada" import javax.persistence.(ntity7anager" import modelo. essoa" public class essoa1acade extends 8bstract1acade< essoa> . private (ntity7anager em = 8bstract1acade.em3.create(ntity7anager*," protected (ntity7anager get(ntity7anager*, . return em" 9 public essoa1acade*, . super* essoa.class," 9 9

AlunoFacade.java
pac>age 3achada" import javax.persistence.(ntity7anager" import modelo.8luno" public class 8luno1acade extends 8bstract1acade<8luno> . private (ntity7anager em = 8bstract1acade.em3.create(ntity7anager*," protected (ntity7anager get(ntity7anager*, . return em" 9

public 8luno1acade*, . super*8luno.class," 9 9

CursoFacade.java
pac>age 3achada" import javax.persistence.(ntity7anager" import modelo.0urso" public class 0urso1acade extends 8bstract1acade<0urso> . private (ntity7anager em = 8bstract1acade.em3.create(ntity7anager*," protected (ntity7anager get(ntity7anager*, . return em" 9 public 0urso1acade*, . super*0urso.class," 9 9

DisciplinaFacade.java
pac>age 3achada" import javax.persistence.(ntity7anager" import modelo.&isciplina" public class &isciplina1acade extends 8bstract1acade<&isciplina> . private (ntity7anager em = 8bstract1acade.em3.create(ntity7anager*," protected (ntity7anager get(ntity7anager*, . return em" 9 public &isciplina1acade*, . super*&isciplina.class," 9 9

8)

-gora& vamos criar os >eans ?erenciados que vo receber as requisi;es das p@ginas eb da aplicao. Vamos criar 6 beans gerenciados dentro do pacote beansgerenciados5 !essoa*anaged>ean& -luno*anaged>ean& Curso*anaged>ean e Disciplina*anaged>ean. 9s c4digos desses beans gerenciados seguem abaixo5 PessoaManaged ean.java
pac>age beansgerenciados" import import import import import import import import java.util.8rrayList" java.util.List" javax.3aces.model.#elect)tem" javax.3aces.event.8ction(vent" javax.3aces.bean.7anaged4ean" javax.3aces.bean.@e:uest#coped" 3achada. essoa1acade" modelo. essoa"

'7anaged4ean*name=- essoa7anaged4ean-, '@e:uest#coped public class essoa7anaged4ean .

private private public 9

essoa pessoa = ne< essoa*," essoa1acade pessoa1acade = ne< essoa7anaged4ean*, .

essoa1acade*,"

public essoa get essoa*, . return pessoa" 9 public void set essoa* essoa pessoa, . this.pessoa = pessoa" 9 public #tring ne< essoa*, . this.pessoa1acade.create*this.pessoa," return -ne<#uccess-" 9 public #tring edit essoa*, . this.pessoa1acade.edit*this.pessoa," return -edit#uccess-" 9 public void remove essoa*8ction(vent e, . #tring id = *#tring, e.get0omponent*,.get8ttributes*,.get*-cod essoa-," this.pessoa1acade.remove*this.pessoa1acade.3ind*id,," 9 public void 3ind essoa*8ction(vent e, . #tring id = *#tring, e.get0omponent*,.get8ttributes*,.get*-cod essoa-," this.pessoa = this.pessoa1acade.3ind*id," 9 public List< essoa> getLista essoas*, . return this.pessoa1acade.3ind8ll*," 9 public List<#elect)tem> get essoas*, . List<#elect)tem> list = ne< 8rrayList<#elect)tem>*," List< essoa> it = getLista essoas*," 3or *int i = I" i < it.si$e*," iJJ, . essoa pessoa = it.get*i," list.add*ne< #elect)tem*pessoa2 pessoa.get0p3*,J--,," 9 return list" 9 9

AlunoManaged ean.java
pac>age beansgerenciados" import import import import import import import import java.util.8rrayList" java.util.List" javax.3aces.model.#elect)tem" javax.3aces.event.8ction(vent" javax.3aces.bean.7anaged4ean" javax.3aces.bean.@e:uest#coped" 3achada.8luno1acade" modelo.8luno"

'7anaged4ean*name=-8luno7anaged4ean-, '@e:uest#coped public class 8luno7anaged4ean . private 8luno aluno = ne< 8luno*,"

private 8luno1acade aluno1acade = ne< 8luno1acade*," public 8luno7anaged4ean*, . 9 public 8luno get8luno*, . return aluno" 9 public void set8luno*8luno aluno, . this.aluno = aluno" 9 public #tring ne<8luno*, . this.aluno1acade.create*this.aluno," return -ne<#uccess-" 9 public #tring edit8luno*, . this.aluno1acade.edit*this.aluno," return -edit#uccess-" 9 public void remove8luno*8ction(vent e, . #tring id = *#tring, e.get0omponent*,.get8ttributes*,.get*-cod8luno-," this.aluno1acade.remove*this.aluno1acade.3ind*id,," 9 public void 3ind8luno*8ction(vent e, . #tring id = *#tring, e.get0omponent*,.get8ttributes*,.get*-cod8luno-," this.aluno = this.aluno1acade.3ind*id," 9 public List<8luno> getLista8lunos*, . return this.aluno1acade.3ind8ll*," 9 public List<#elect)tem> get8lunos*, . List<#elect)tem> list = ne< 8rrayList<#elect)tem>*," List<8luno> it = getLista8lunos*," 3or *int i = I" i < it.si$e*," iJJ, . 8luno aluno = it.get*i," list.add*ne< #elect)tem*aluno2 aluno.get0p3*,J--,," 9 return list" 9 9

CursoManaged ean.java
pac>age beansgerenciados" import import import import import import import import java.util.8rrayList" java.util.List" javax.3aces.model.#elect)tem" javax.3aces.event.8ction(vent" javax.3aces.bean.7anaged4ean" javax.3aces.bean.@e:uest#coped" 3achada.0urso1acade" modelo.0urso"

'7anaged4ean*name=-0urso7anaged4ean-, '@e:uest#coped public class 0urso7anaged4ean . private 0urso curso = ne< 0urso*," private 0urso1acade curso1acade = ne< 0urso1acade*,"

public 0urso7anaged4ean*, . 9 public 0urso get0urso*, . return curso" 9 public void set0urso*0urso curso, . this.curso = curso" 9 public #tring ne<0urso*, . this.curso1acade.create*this.curso," return -ne<#uccess-" 9 public #tring edit0urso*, . this.curso1acade.edit*this.curso," return -edit#uccess-" 9 public void remove0urso*8ction(vent e, . )nteger id = *)nteger, e.get0omponent*,.get8ttributes*,.get*-cod0urso-," this.curso1acade.remove*this.curso1acade.3ind*id,," 9 public void 3ind0urso*8ction(vent e, . )nteger id = *)nteger, e.get0omponent*,.get8ttributes*,.get*-cod0urso-," this.curso = this.curso1acade.3ind*id," 9 public List<0urso> getLista0ursos*, . return this.curso1acade.3ind8ll*," 9 public List<#elect)tem> get0ursos*, . List<#elect)tem> list = ne< 8rrayList<#elect)tem>*," List<0urso> it = getLista0ursos*," 3or *int i = I" i < it.si$e*," iJJ, . 0urso curso = it.get*i," list.add*ne< #elect)tem*curso2 curso.get)d*,J--,," 9 return list" 9 9

DisciplinaManaged ean.java
pac>age beansgerenciados" import import import import import import import import java.util.8rrayList" java.util.List" javax.3aces.model.#elect)tem" javax.3aces.event.8ction(vent" javax.3aces.bean.7anaged4ean" javax.3aces.bean.@e:uest#coped" 3achada.&isciplina1acade" modelo.&isciplina"

'7anaged4ean*name=-&isciplina7anaged4ean-, '@e:uest#coped public class &isciplina7anaged4ean . private &isciplina disciplina = ne< &isciplina*," private &isciplina1acade disciplina1acade = ne< &isciplina1acade*,"

public &isciplina7anaged4ean*, . 9 public &isciplina get&isciplina*, . return disciplina" 9 public void set&isciplina*&isciplina disciplina, . this.disciplina = disciplina" 9 public #tring ne<&isciplina*, . this.disciplina1acade.create*this.disciplina," return -ne<#uccess-" 9 public #tring edit&isciplina*, . this.disciplina1acade.edit*this.disciplina," return -edit#uccess-" 9 public void remove&isciplina*8ction(vent e, . )nteger id = *)nteger, e.get0omponent*,.get8ttributes*,.get*-cod&isciplina-," this.disciplina1acade.remove*this.disciplina1acade.3ind*id,," 9 public void 3ind&isciplina*8ction(vent e, . )nteger id = *)nteger, e.get0omponent*,.get8ttributes*,.get*-cod&isciplina-," this.disciplina = this.disciplina1acade.3ind*id," 9 public List<&isciplina> getLista&isciplinas*, . return this.disciplina1acade.3ind8ll*," 9 public List<#elect)tem> get&isciplinas*, . List<#elect)tem> list = ne< 8rrayList<#elect)tem>*," List<&isciplina> it = getLista&isciplinas*," 3or *int i = I" i < it.si$e*," iJJ, . &isciplina disciplina = it.get*i," list.add*ne< #elect)tem*disciplina2 disciplina.get)d*,J--,," 9 return list" 9 9

9) -gora& vamos criar uma classe Converter para a classe Curso. 2sso A necess@rio& pois na
interface eb #aver@ um combobox para selecionar um curso no cadastro de -luno e no cadastro de Disciplina. /ssa classe converter facilita a converso do texto escrito no combobox para o ob"eto referete aquele texto. Desta forma& vamos criar a classe CursoConverter dentro do pacote converters. CursoConverter.java
pac>age converters" import import import import import import javax.3aces.component.B)0omponent" javax.3aces.context.1aces0ontext" javax.3aces.convert.0onverter" javax.3aces.convert.1aces0onverter" 3achada.0urso1acade" modelo.0urso"

'1aces0onverter*-0urso0onverter-, public class 0urso0onverter implements 0onverter . public 6bject get8s6bject*1aces0ontext context2 B)0omponent component2 #tring value, . return ne< 0urso1acade*,.3ind*ne< )nteger*value,," 9 public #tring get8s#tring*1aces0ontext context2 B)0omponent component2 6bject value, . 0urso curso = *0urso, value" return curso.get)d*,J--" 9 9

10) -gora vamos criar as p@ginas eb utilizando o frame7or: '(). !ara cada uma das classes do
pacote modelo B!essoa& -luno& Curso& DisciplinaC devero ser criadas D p@ginas Bcadastrar& editar e listarC e uma p@gina index Bp@gina inicialC. eb

11) Dentro da pasta ebContent crie 6 novas pastas5 !essoa& -luno& Curso e Disciplina. !ara criar
uma nova pasta dentro da pasta ebContent& clique com o boto direito do mouse em cima da pasta ebContent& v@ em 3e7 8 )older. Digite o nome da nova pasta e clique em 9E.

12) Criada as 6 pastas& vamos criar as p@ginas eb referente a !essoa& dentro da pasta !essoa.
!ara criar uma nova p@gina eb v@ em 3e7 8 9t#er.. / procure por '(! )ile.

ne!Pessoa.jsp
<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<>

<html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>5e< essoa<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">5e< essoa<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:panelDrid columns="2" style0lass="ta.le"> <h:output+ext value="cp8"!> <h:input+ext re:uired="true" label="cp8" value="L. essoa7anaged4ean.pessoa.cp39"!> <h:output+ext value="nome"!> <h:input+ext re:uired="true" label="nome" value="L. essoa7anaged4ean.pessoa.nome9"!> <h:output+ext value="'ata5ascimento"!> <h:input+ext re:uired="true" label="'ata5ascimento" value="L. essoa7anaged4ean.pessoa.data5ascimento9"> <3:convert&ate+ime pattern="''/""/////"!> <!h:input+ext> <h:output+ext value="tele8one"!> <h:input+ext label="tele8one" value="L. essoa7anaged4ean.pessoa.tele3one9"!> <!h:panelDrid> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L. essoa7anaged4ean.ne< essoa9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list(essoa" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

editPessoa.jsp
<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>(dit essoa<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">(dit essoa<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm>

<table class="ta.le"> <tr> <td>cp3<!td> <td> <h:inputHidden value="L. essoa7anaged4ean.pessoa.cp39"!> <h:input+ext disabled="true" value="L. essoa7anaged4ean.pessoa.cp39"!> <!td> <!tr> <tr> <td>nome<!td> <td> <h:input+ext re:uired="true" label="nome" value="L. essoa7anaged4ean.pessoa.nome9"!> <!td> <!tr> <tr> <td>data5ascimento<!td> <td> <h:input+ext re:uired="true" label="'ata5ascimento" value="L. essoa7anaged4ean.pessoa.data5ascimento9"> <3:convert&ate+ime pattern="''/""/////"!> <!h:input+ext> <!td> <!tr> <tr> <td>tele3one<!td> <td> <h:input+ext label="tele8one" value="L. essoa7anaged4ean.pessoa.tele3one9"!> <!td> <!tr> <!table> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L. essoa7anaged4ean.edit essoa9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list(essoa" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

listPessoa.jsp

<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>List o3 essoa<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center->

<h/ class="title">List o3 essoa<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:data+able value="L. essoa7anaged4ean.lista essoas9" var="item" style0lass="list&ta.le" header0lass="hea'er" ro<0lasses="row1;row2"> <h:column> <3:3acet name="hea'er" > <h:output+ext value="cp8"!> <!3:3acet> <h:output+ext value="L.item.cp39"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="nome"!> <!3:3acet> <h:output+ext value="L.item.nome9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="'ata5ascimento"!> <!3:3acet> <h:output+ext value="L.item.data5ascimento9"> <3:convert&ate+ime pattern="''/""/////"!> <!h:output+ext> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="tele8one"!> <!3:3acet> <h:output+ext value="L.item.tele3one9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="+'itar"!> <!3:3acet> <h:commandLin> value="e'itar" type="su.mit" action="e'it(essoa" actionListener="L. essoa7anaged4ean.3ind essoa9" > <3:attribute name="co'(essoa" value="L.item.cp39"!> <!h:commandLin>> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="*emover"!> <!3:3acet> <h:commandLin> value="remover" type="su.mit"% actionListener="L. essoa7anaged4ean.remove essoa9" > <3:attribute name="co'(essoa" value="L.item.cp39"!> <!h:commandLin>> <!h:column> <!h:data+able> <br> <div style=-text-align:center-> <h:command4utton value="<ac=%to%4n'ex" immediate="true" action="in'ex" style0lass=".utton"!> <h:command4utton value="5ew%(essoa" immediate="true" action="new(essoa" style0lass=".utton"!> <!div> <!h:3orm>

<!body> <!html> <!3:vie<>

13)Vamos criar as p@ginas eb referente ao -luno dentro da pasta -luno.


ne!Aluno.jsp

>?@pa e%contentT/pe:"text/html"%pa e+nco'in :"UTF-8"?A <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>5e< 8luno<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">5e< 8luno<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:panelDrid columns="2" style0lass="ta.le"> <h:output+ext value="cp8"!> <h:input+ext re:uired="true" label="cp8" value="L.8luno7anaged4ean.aluno.cp39"!> <h:output+ext value="nome"!> <h:input+ext re:uired="true" label="nome" value="L.8luno7anaged4ean.aluno.nome9"!> <h:output+ext value="'ata5ascimento"!> <h:input+ext re:uired="true" label="'ata5ascimento" value="L.8luno7anaged4ean.aluno.data5ascimento9"> <3:convert&ate+ime pattern="''/""/////"!> <!h:input+ext> <h:output+ext value="tele8one"!> <h:input+ext label="tele8one" value="L.8luno7anaged4ean.aluno.tele3one9"!> <h:output+ext value="ra"!> <h:input+ext re:uired="true" label="ra" value="L.8luno7anaged4ean.aluno.ra9"!> <h:output+ext value="email"!> <h:input+ext re:uired="true" label="email" value="L.8luno7anaged4ean.aluno.email9"!> <h:output+ext value="escolari'a'e"!> <h:input+ext label="escolari'a'e" value="L.8luno7anaged4ean.aluno.escolaridade9"!> <h:output+ext value="curso"!> <h:select6ne7enu re:uired="true" label="curso" value="L.8luno7anaged4ean.aluno.curso9"> <3:select)tems value="L.0urso7anaged4ean.cursos9"% !> <3:converter converter)d=")urso)onverter"!> <!h:select6ne7enu> <!h:panelDrid> <br> <h:messages error0lass="error"><!h:messages>

<div style=-text-align:center-> <h:command4utton value="$ave" action="L.8luno7anaged4ean.ne<8luno9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list-luno" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

editAluno.jsp
<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>(dit 8luno<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">(dit 8luno<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <table class="ta.le"> <tr> <td>cp3<!td> <td> <h:inputHidden value="L.8luno7anaged4ean.aluno.cp39"!> <h:input+ext disabled="true" value="L.8luno7anaged4ean.aluno.cp39"!> <!td> <!tr> <tr> <td>nome<!td> <td> <h:input+ext re:uired="true" label="nome" value="L.8luno7anaged4ean.aluno.nome9"!> <!td> <!tr> <tr> <td>data5ascimento<!td> <td> <h:input+ext re:uired="true" label="'ata5ascimento" value="L.8luno7anaged4ean.aluno.data5ascimento9"> <3:convert&ate+ime pattern="''/""/////"!> <!h:input+ext> <!td> <!tr> <tr> <td>tele3one<!td> <td> <h:input+ext label="tele8one"

value="L.8luno7anaged4ean.aluno.tele3one9"!> <!td> <!tr> <tr> <td>ra<!td> <td> <h:input+ext re:uired="true" label="ra" value="L.8luno7anaged4ean.aluno.ra9"!> <!td> <!tr> <tr> <td>email<!td> <td> <h:input+ext re:uired="true" label="email" value="L.8luno7anaged4ean.aluno.email9"!> <!td> <!tr> <tr> <td>escolaridade<!td> <td> <h:input+ext label="escolari'a'e" value="L.8luno7anaged4ean.aluno.escolaridade9"!> <!td> <!tr> <tr> <td>curso<!td> <td> <h:select6ne7enu re:uired="true" label="curso" value="L.8luno7anaged4ean.aluno.curso9"> <3:select)tems value="L.0urso7anaged4ean.cursos9" !> <3:converter converter)d=")urso)onverter"!> <!h:select6ne7enu> <!td> <!tr> <!table> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L.8luno7anaged4ean.edit8luno9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list-luno" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

listAluno.jsp

<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>List o3 8luno<!title> <!head> <body>

<div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">List o3 8luno<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:data+able value="L.8luno7anaged4ean.lista8lunos9" var="item" style0lass="list&ta.le" header0lass="hea'er" ro<0lasses="row1;row2"> <h:column> <3:3acet name="hea'er" > <h:output+ext value="cp8"!> <!3:3acet> <h:output+ext value="L.item.cp39"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="nome"!> <!3:3acet> <h:output+ext value="L.item.nome9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="'ata5ascimento"!> <!3:3acet> <h:output+ext value="L.item.data5ascimento9"> <3:convert&ate+ime pattern="''/""/////"!> <!h:output+ext> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="tele8one"!> <!3:3acet> <h:output+ext value="L.item.tele3one9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="ra"!> <!3:3acet> <h:output+ext value="L.item.ra9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="email"!> <!3:3acet> <h:output+ext value="L.item.email9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="escolari'a'e"!> <!3:3acet> <h:output+ext value="L.item.escolaridade9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="curso"!> <!3:3acet> <h:output+ext value="L.item.curso9"> <3:converter converter)d=")urso)onverter"!> <!h:output+ext> <!h:column>

<h:column> <3:3acet name="hea'er" > <h:output+ext value="+'itar"!> <!3:3acet> <h:commandLin> value="e'itar" type="su.mit" action="e'it-luno" actionListener="L.8luno7anaged4ean.3ind8luno9" > <3:attribute name="co'-luno" value="L.item.cp39"!> <!h:commandLin>> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="*emover"!> <!3:3acet> <h:commandLin> value="remover" type="su.mit"% actionListener="L.8luno7anaged4ean.remove8luno9" > <3:attribute name="co'-luno" value="L.item.cp39"!> <!h:commandLin>> <!h:column> <!h:data+able> <br> <div style=-text-align:center-> <h:command4utton value="<ac=%to%4n'ex" immediate="true" action="in'ex" style0lass=".utton"!> <h:command4utton value="5ew%-luno" immediate="true" action="new-luno" style0lass=".utton"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

14)Vamos criar as p@ginas eb referente ao Curso dentro da pasta Curso.


ne!Curso.jsp
>?@pa e%contentT/pe:"text/html"%pa e+nco'in :"UTF-8"?A <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>5e< 0urso<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">5e< 0urso<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:panelDrid columns="2" style0lass="ta.le"> <h:output+ext value="nome"!> <h:input+ext re:uired="true" label="nome" value="L.0urso7anaged4ean.curso.nome9"!> <h:output+ext value="nome2epartamento"!>

<h:input+ext re:uired="true" label="nome2epartamento" value="L.0urso7anaged4ean.curso.nome&epartamento9"!> <h:output+ext value="car aBoraria"!> <h:input+ext label="car aBoraria" value="L.0urso7anaged4ean.curso.cargaHoraria9"!> <!h:panelDrid> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L.0urso7anaged4ean.ne<0urso9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list)urso" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

editCurso.jsp
<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>(dit 0urso<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">(dit 0urso<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <table class="ta.le"> <h:inputHidden value="L.0urso7anaged4ean.curso.id9"!> <tr> <td>nome<!td> <td> <h:input+ext re:uired="true" label="nome" value="L.0urso7anaged4ean.curso.nome9"!> <!td> <!tr> <tr> <td>nome&epartamento<!td> <td> <h:input+ext re:uired="true" label="nome2epartamento" value="L.0urso7anaged4ean.curso.nome&epartamento9"!> <!td> <!tr> <tr> <td>cargaHoraria<!td> <td> <h:input+ext label="car aBoraria" value="L.0urso7anaged4ean.curso.cargaHoraria9"!> <!td>

<!tr> <!table> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L.0urso7anaged4ean.edit0urso9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list)urso" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

listCurso.jsp
<K'page content+ype="text/html" page(ncoding="UTF-8"K> <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>List o3 0urso<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">List o3 0urso<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:data+able value="L.0urso7anaged4ean.lista0ursos9" var="item" style0lass="list&ta.le" header0lass="hea'er" ro<0lasses="row1;row2"> <h:column> <3:3acet name="hea'er" > <h:output+ext value="i'"!> <!3:3acet> <h:output+ext value="L.item.id9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="nome"!> <!3:3acet> <h:output+ext value="L.item.nome9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="nome2epartamento"!> <!3:3acet> <h:output+ext value="L.item.nome&epartamento9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="car aBoraria"!> <!3:3acet> <h:output+ext value="L.item.cargaHoraria9"!> <!h:column>

<h:column> <3:3acet name="hea'er" > <h:output+ext value="+'itar"!> <!3:3acet> <h:commandLin> value="e'itar" type="su.mit" action="e'it)urso" actionListener="L.0urso7anaged4ean.3ind0urso9" > <3:attribute name="co')urso" value="L.item.id9"!> <!h:commandLin>> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="*emover"!> <!3:3acet> <h:commandLin> value="remover" type="su.mit"% actionListener="L.0urso7anaged4ean.remove0urso9" > <3:attribute name="co')urso" value="L.item.id9"!> <!h:commandLin>> <!h:column> <!h:data+able> <br> <div style=-text-align:center-> <h:command4utton value="<ac=%to%4n'ex" immediate="true" action="in'ex" style0lass=".utton"!> <h:command4utton value="5ew%)urso" immediate="true" action="new)urso" style0lass=".utton"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

15) Vamos criar as p@ginas eb referente a Disciplina dentro da pasta Disciplina.


ne!Disciplina.jsp

"#$page%contentT&pe'"text/html"%page(ncoding'"UTF-8"#) <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>5e< &isciplina<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">5e< &isciplina<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:panelDrid columns="2" style0lass="ta.le"> <h:output+ext value="nome"!> <h:input+ext re:uired="true" label="nome"

value="L.&isciplina7anaged4ean.disciplina.nome9"!> <h:output+ext value="0uanti'a'e)re'itos"!> <h:input+ext label="0uanti'a'e)re'itos" value="L.&isciplina7anaged4ean.disciplina.:uantidade0reditos9"!> <h:output+ext value="nome(ro8essor"!> <h:input+ext label="nome(ro8essor" value="L.&isciplina7anaged4ean.disciplina.nome ro3essor9"!> <h:output+ext value="curso"!> <h:select6ne7enu re:uired="true" label="curso" value="L.&isciplina7anaged4ean.disciplina.curso9"> <3:select)tems value="L.0urso7anaged4ean.cursos9"% !> <3:converter converter)d=")urso)onverter"!> <!h:select6ne7enu> <!h:panelDrid> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L.&isciplina7anaged4ean.ne<&isciplina9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list2isciplina" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

editDisciplina.jsp

"#$page%contentT&pe'"text/html"%page(ncoding'"UTF-8"#) <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>(dit &isciplina<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">(dit &isciplina<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <table class="ta.le"> <h:inputHidden value="L.&isciplina7anaged4ean.disciplina.id9"!> <tr> <td>nome<!td> <td> <h:input+ext re:uired="true" label="nome" value="L.&isciplina7anaged4ean.disciplina.nome9"!> <!td> <!tr> <tr> <td>:uantidade0reditos<!td> <td> <h:input+ext label="0uanti'a'e)re'itos"

value="L.&isciplina7anaged4ean.disciplina.:uantidade0reditos9"!> <!td> <!tr> <tr> <td>nome ro3essor<!td> <td> <h:input+ext label="nome(ro8essor" value="L.&isciplina7anaged4ean.disciplina.nome ro3essor9"!> <!td> <!tr> <tr> <td>curso<!td> <td> <h:select6ne7enu re:uired="true" label="curso" value="L.&isciplina7anaged4ean.disciplina.curso9"> <3:select)tems value="L.0urso7anaged4ean.cursos9" !> <3:converter converter)d=")urso)onverter"!> <!h:select6ne7enu> <!td> <!tr> <!table> <br> <h:messages error0lass="error"><!h:messages> <div style=-text-align:center-> <h:command4utton value="$ave" action="L.&isciplina7anaged4ean.edit&isciplina9" style0lass="save"!> <h:command4utton value=")ancel" immediate="true" action="list2isciplina" style0lass="cancel"!> <!div> <!h:3orm> <!body> <!html> <!3:vie<>

listDisciplina.jsp

"#$page%contentT&pe'"text/html"%page(ncoding'"UTF-8"#) <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>List o3 &isciplina<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">List o3 &isciplina<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:data+able value="L.&isciplina7anaged4ean.lista&isciplinas9" var="item" style0lass="list&ta.le" header0lass="hea'er" ro<0lasses="row1;row2"> <h:column> <3:3acet name="hea'er" > <h:output+ext value="i'"!> <!3:3acet>

value="0uanti'a'e)re'itos"!>

<h:output+ext value="L.item.id9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="nome"!> <!3:3acet> <h:output+ext value="L.item.nome9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext

<!3:3acet> <h:output+ext value="L.item.:uantidade0reditos9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="nome(ro8essor"!> <!3:3acet> <h:output+ext value="L.item.nome ro3essor9"!> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="curso"!> <!3:3acet> <h:output+ext value="L.item.curso9"> <3:converter converter)d=")urso)onverter"!> <!h:output+ext> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="+'itar"!> <!3:3acet> <h:commandLin> value="e'itar" type="su.mit" action="e'it2isciplina" actionListener="L.&isciplina7anaged4ean.3ind&isciplina9"% > <3:attribute name="co'2isciplina" value="L.item.id9"!> <!h:commandLin>> <!h:column> <h:column> <3:3acet name="hea'er" > <h:output+ext value="*emover"!> <!3:3acet> <h:commandLin> value="remover" type="su.mit"% actionListener="L.&isciplina7anaged4ean.remove&isciplina9" > <3:attribute name="co'2isciplina" value="L.item.id9"!> <!h:commandLin>> <!h:column> <!h:data+able> <br> <div style=-text-align:center-> <h:command4utton value="<ac=%to%4n'ex" immediate="true" action="in'ex" style0lass=".utton"!> <h:command4utton value="5ew%2isciplina" immediate="true" action="new2isciplina" style0lass=".utton"!> <!div> <!h:3orm> <!body> <!html>

<!3:vie<>

16) Vamos criar a p@gina eb de index dentro da pasta ebContent.


index.jsp
"#$page%contentT&pe'"text/html"%page(ncoding'"UTF-8"#) <K'taglib pre3ix="8" uri="http://java.sun.com/js8/core"K> <K'taglib pre3ix="h" uri="http://java.sun.com/js8/html"K> <3:vie<> <html> <head> <meta http-e:uiv=")ontent-T/pe" content="text/html9% charset:UTF-8"!> <title>index<!title> <!head> <body> <div class="line-separator"><!div> <div style=-text-align:center-> <h/ class="title">0@B&<!h/> <!div> <div class="line-separator"><!div> <br> <h:3orm> <h:panelDrid style0lass="list&ta.le" ro<0lasses="row1;row2"> <h:commandLin> value="2isciplina" action="list2isciplina"!> <h:commandLin> value="(essoa" action="list(essoa"!> <h:commandLin> value="-luno" action="list-luno"!> <h:commandLin> value=")urso" action="list)urso"!> <!h:panelDrid> <!h:3orm> <!body> <!html> <!3:vie<>

17) Vamos adicionar as regras de navegao no arquivo faces1config.xml que est@ na pasta
ebContent. />123). 9 c4digo final do arquivo segue abaixo5 faces*config.xml
"+xml%version''1.0'%encoding''UTF-8'+) <3aces-con3ig version="2.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.or /2001/!"#$chema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee% http://java.sun.com/xml/ns/javaee/we.-8acescon8i &2&0.xs'"> <converter> <converter-id>0urso0onverter<!converter-id> <converter-class>converters.0urso0onverter<!converter-class> <!converter> <navigation-rule> <3rom-vie<-id>%<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne<&isciplina<!3rom-outcome>

<to-vie<-id>!&isciplina!ne<&isciplina.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>edit&isciplina<!3rom-outcome> <to-vie<-id>!&isciplina!edit&isciplina.jsp<!to-vie<-id> <!navigation-case> <navigation-case> <3rom-outcome>list&isciplina<!3rom-outcome> <to-vie<-id>!&isciplina!list&isciplina.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>index<!3rom-outcome> <to-vie<-id>!index.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>!&isciplina!ne<&isciplina.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne<#uccess<!3rom-outcome> <to-vie<-id>!&isciplina!list&isciplina.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>!&isciplina!edit&isciplina.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>edit#uccess<!3rom-outcome> <to-vie<-id>!&isciplina!list&isciplina.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>%<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne< essoa<!3rom-outcome> <to-vie<-id>! essoa!ne< essoa.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>edit essoa<!3rom-outcome> <to-vie<-id>! essoa!edit essoa.jsp<!to-vie<-id> <!navigation-case> <navigation-case> <3rom-outcome>list essoa<!3rom-outcome> <to-vie<-id>! essoa!list essoa.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>index<!3rom-outcome> <to-vie<-id>!index.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>! essoa!ne< essoa.jsp<!3rom-vie<-id> <navigation-case>

<3rom-outcome>ne<#uccess<!3rom-outcome> <to-vie<-id>! essoa!list essoa.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>! essoa!edit essoa.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>edit#uccess<!3rom-outcome> <to-vie<-id>! essoa!list essoa.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>%<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne<8luno<!3rom-outcome> <to-vie<-id>!8luno!ne<8luno.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>edit8luno<!3rom-outcome> <to-vie<-id>!8luno!edit8luno.jsp<!to-vie<-id> <!navigation-case> <navigation-case> <3rom-outcome>list8luno<!3rom-outcome> <to-vie<-id>!8luno!list8luno.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>index<!3rom-outcome> <to-vie<-id>!index.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>!8luno!ne<8luno.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne<#uccess<!3rom-outcome> <to-vie<-id>!8luno!list8luno.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>!8luno!edit8luno.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>edit#uccess<!3rom-outcome> <to-vie<-id>!8luno!list8luno.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>%<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne<0urso<!3rom-outcome> <to-vie<-id>!0urso!ne<0urso.jsp<!to-vie<-id> <redirect!> <!navigation-case>

<navigation-case> <3rom-outcome>edit0urso<!3rom-outcome> <to-vie<-id>!0urso!edit0urso.jsp<!to-vie<-id> <!navigation-case> <navigation-case> <3rom-outcome>list0urso<!3rom-outcome> <to-vie<-id>!0urso!list0urso.jsp<!to-vie<-id> <redirect!> <!navigation-case> <navigation-case> <3rom-outcome>index<!3rom-outcome> <to-vie<-id>!index.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>!0urso!ne<0urso.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>ne<#uccess<!3rom-outcome> <to-vie<-id>!0urso!list0urso.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <navigation-rule> <3rom-vie<-id>!0urso!edit0urso.jsp<!3rom-vie<-id> <navigation-case> <3rom-outcome>edit#uccess<!3rom-outcome> <to-vie<-id>!0urso!list0urso.jsp<!to-vie<-id> <redirect!> <!navigation-case> <!navigation-rule> <!3aces-con3ig>

Você também pode gostar