Professional Documents
Culture Documents
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
AbrimosNetBeansycreamosunnu evoproyecto: 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.
PulsamoselbotnFinish.Porfin!=)
JSP
Tenemosquecrearunosarchivosadicionalesalosquesegeneraronalcrearelproyecto:
<!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.mensa jes"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"/>
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.mensa jes"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(){
.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: