Tutorialjsf PDF

También podría gustarte

Está en la página 1de 12

IntroduccinaJSFconNetBeans

Crditos
YannArthurNicolas
yannart@gmail.com
www.merlinsource.com

Objetivo
CrearunaprimeraaplicacionconJSFutilizandolostagsparaJSPyunManagedBean,entenderla
configuracionbsicadeelarchivofacesconfig.xml.

Prerequisitos
Javabasico,HTMLbsico,unIDEquesoporteJSFyuncontenedorJSP/Servlets.
LospasossonindicadosparaNetBeans5ysuperiorconTomcat5.

Nota:ComosehizoeltutorialenentornoLinux,lasdiagonalesson"/"paraWindowsnormalmentela
barraestainvertida"\"peroelentornoNetBeanspermitequebajoWindowsseutiliceelformato
Unix.

Quvamosahacer?
Habrunapaginaprincipal(index.jsp)quetendrunenlaceaotra(entrada.jsp)conunformulario
paraponernuestronombre.
Alpulsarelbotndelformulario,sevalidarasielcamponoestavacoysielnumerodecaracteres
estaenciertorango(de2a15).Silaentradaescorrecta,semuestraunmensajedebienvenidaconel
nombreingresado,sihayunerror,serecargalapaginaconelformularioysemuestraunmensaje
especificandoeltipodeerror.
Proyecto
AbrimosNetBeansycreamosunnuevoproyecto:
File>NewProjectCategories>Web>WebApplication

AparecelaventanaNewWebApplicationVamosadejarcasitodocomovienepordefault:
ProjectName:Hola
ProjectLocation:dejarcomovienepordefaultocambiaracambiaraun
directorioparticular(ejemplo:/home/yannart/proyectos)
ProjectFolder:sellenasolo
SourceStructure:JavaBluePrints
Server:BundledTomcat(paralosquequieranusarSunApplicationServero
JBoss,dalomismo)
JavaEEVersion:J2EE1.4(losqueutilicenelserverdesunpuedenusaren1.5)
ContextPath:dejarcomoviene.(/Hola)
Ponemoslasdospalomasenloscheckbox.

PulsamoselbotnNext.
PonemoslapalomaenelcheckboxJavaServerFaces
DejamosenblancoelcheckboxdeStruts
ServletURLMapping:dejamoscomoviene(/faces/*)
PonemoslapalomaenelcheckboxValidateXML
DejamosenblandoelcheckboxVerifyObjects

PulsamoselbotnFinish.Porfin!=)
JSP
Tenemosquecrearunosarchivosadicionalesalosquesegeneraronalcrearelproyecto:
entrada.jsp
hola.jsp
Paraestohacemosclicderechoenlacarpeta"WebPages"desuproyectoyluego"NEW>
JSP..."
SolocambiamoselcampoJSPFileName:PonemoslapalomaenelcheckboxJavaServer
Facesentrada

PulseFinish

Repitalosmismospasosparacrearhola.jsp

PodemosborrarelarchivowelcomeJSF.jspyaquenoseutilizara:clicderechoenelarchivo
welcomeJSF.jspdelacarpetaWebPagesyluegoDelete.

Ahoravaaremplazarelcontenidodecadaarchivojsp.

index.jsp

<%@pagecontentType="text/html"%>
<%@pagepageEncoding="UTF8"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=UTF8">
<title>tutorialJSF</title>
</head>
<body>

<h1>BienvenidoaltutorialJSF</h1>
<br/>
<ahref="./faces/entrada.jsp">Dartunombre</a>
</body>
</html>

entrada.jsp

<%Importalostagshtmlparajsf%>
<%@tagliburi="http://java.sun.com/jsf/html"prefix="h"%>
<%Importalostagsdecontrolparajsf%>
<%@tagliburi="http://java.sun.com/jsf/core"prefix="f"%>
<%Utilizaelsiguientearchivoderecursos%>
<f:loadBundlebasename="hola.recursos.mensajes"var="msj"/>

<html>
<head>
<title>Darnombre</title>
</head>
<body>
<f:view>
<h1>
<%Pintamostexto%>
<h:outputTextvalue="#{msj.cabezal}"/>

</h1>
<p>
<%Pintamosmensajesdeerror%>
<h:messagesstyle="color:red"/>
</p>
<%Formulario%>
<h:formid="helloForm">
<%Pintamostexto%>
<h:outputTextvalue="#{msj.dar_nombre}"/>
<%Campodetextoobligatoriocuyovalorsemandaalatributonombre
delBeanpersonaBean%>
<h:inputTextvalue="#{personaBean.nombre}"required="true">
<%laentradadebedetenerentre2y15caracteres%>
<f:validateLengthminimum="2"maximum="15"/>
</h:inputText>
<%botonqueejecutalaaccion%>
<h:commandButtonaction="saluda"value="#{msj.boton}"/>
</h:form>
</f:view>
</body>
</html>
hola.jsp

<%Importalostagshtmlparajsf%>
<%@tagliburi="http://java.sun.com/jsf/html"prefix="h"%>
<%Importalostagsdecontrolparajsf%>
<%@tagliburi="http://java.sun.com/jsf/core"prefix="f"%>
<%Utilizaelsiguientearchivoderecursos%>
<f:loadBundlebasename="hola.recursos.mensajes"var="msj"/>

<html>
<head>
<title>Bienvenido</title>
</head>
<body>
<f:view>
<h1>
<%pintamostextos%>
<h:outputTextvalue="#{msj.signo1}"/>
<h:outputTextvalue="#{msj.saludo1}"/>
<%serecuperaelvalornombredelBeanpersonaBean%>
<h:outputTextvalue="#{personaBean.nombre}"/>
<h:outputTextvalue="#{msj.saludo2}"/>
<h:outputTextvalue="#{msj.signo2}"/>
</h1>
</f:view>
</body>
</html>
JavaBean
File>NewFile...
Categories>JavaBeansObject
FileTypes>JavaBeansComponent

BotonNext
ClassName:PersonaBean
Package:hola

BotnFinish
RemplazamoselcontenidodelarchivoParsonaBean.java:

packagehola;

importjava.beans.*;
importjava.io.Serializable;

/**
*@authoryannart
*/
publicclassPersonaBean{
privateStringnombre;

publicStringgetNombre(){
returnnombre;
}

publicvoidsetNombre(Stringnombre){
this.nombre=nombre;
}
}
.properties
CreamoselarchivoquecontendrlosmensajesutilizadosenlasJSP:
File>NewFile
Categories>Other
FileTipes>PropertiesFile

BotnNext
Cambiamoslossiguientescampos:
FileName:mensajes
Folder:src/java/hola/recursos

PulsamosFinish

Cambiamoselcontenidodeestearchivopor:

#listademensajesutilizadosenlasJSP
cabezal=TutorialJSF
dar_nombre=Porfavorescribasunombre:
saludo1=Bienvenido
saludo2=aJSF
boton=Saludarte
signo1=
signo2=!
facesconfig.xml
Ahorasolonosfaltaremplazarelcontenidodelarchivofacesconfig.xmldelacarpetaConfiguration
faces:

<?xmlversion="1.0"?>
<!DOCTYPEfacesconfigPUBLIC
"//SunMicrosystems,Inc.//DTDJavaServerFacesConfig1.1//EN"
"http://java.sun.com/dtd/webfacesconfig_1_1.dtd">

<facesconfig>
<navigationrule>
<fromviewid>/entrada.jsp</fromviewid>
<navigationcase>
<fromoutcome>saluda</fromoutcome>
<toviewid>/hola.jsp</toviewid>
</navigationcase>
</navigationrule>

<managedbean>
<managedbeanname>personaBean</managedbeanname>
<managedbeanclass>hola.PersonaBean</managedbeanclass>
<managedbeanscope>request</managedbeanscope>
</managedbean>
</facesconfig>
Ejecucindelproyecto
Sihicimostodobien,deberamosdeejecutarsinproblemaelproyecto:

Run>RunMainProyect(opulsamosF6)
Algunascapturasdelaventanadenavegador:

También podría gustarte