swp i tutorium
TRANSCRIPT
![Page 2: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/2.jpg)
WebApplica4on• WebApplica4on(Oracle.com)
DB
DB
![Page 3: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/3.jpg)
JavaServerFaces(hGps://en.wikipedia.org/wiki/JavaServer_Faces)• AJavaspecifica4onforbuildingcomponent-baseduserinterfacesforwebapplica4ons
www.irian.at
![Page 4: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/4.jpg)
• JSF2usesFaceletsastempla4ngsystem• ServletEngine– Processesrequests– Loadstheappropriateviewtemplate– Buildsacomponenttree– Processesevents– Renderstheresponsetotheclient
• ThestateofUIcomponentsandotherobjectsofscopeissavedattheendofeachrequest
• Thestateoftheviewwillberestoreduponnextcrea4on
![Page 5: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/5.jpg)
Facelets(hGp://docs.oracle.com/javaee/6/tutorial)
• Theviewdeclara4onlanguageforJavaServerFacestechnology
• Thepreferredpresenta4ontechnologyforbuildingJavaServerFacestechnology-basedapplica4ons
• Faceletsfeatures– UseofXHTMLforcrea4ngwebpages– SupportforFaceletstaglibraries– SupportfortheExpressionLanguage(EL)– Templa4ngforcomponentsandpages
![Page 6: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/6.jpg)
ExpressionLanguage(EL)• Animportantmechanismforthecommunica4onbetweenpresenta4onlayer(webpages)andapplica4onlogic(managedbeans)
• Func4ons– evalua4onofexpressions– setandgetdata,and– invokemethods
• Examples– <h:bodyrendered="#{!loginBean.isLoggedIn()}">– <h:inputTextid="username"value="#{loginBean.username}"required="true"requiredMessage="DerBenutzernamedarfnichtleersein."/>
![Page 7: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/7.jpg)
Glassfish
• GlassFishServerprovidesaserverforthedevelopmentanddeploymentofJavawebapplica4ons.
• Func4onsofGlassFishServer4.0– Alightweightandextensiblecore– AwebcontainertointeractwithJavaservlets– Supportforhighavailabilityclusteringandloadbalancing– Aneasy-to-useAdministra4onConsoleforconfigura4onandmanagement
– UpdateToolconnec4vityforupdatesandadd-oncomponents
![Page 8: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/8.jpg)
• f:thecoreJavaServerFacescustomac4onsthatareindependentofanypar4cularrender– f:convertDateTime,e.g.
<f:convertDateTimepaGern="dd.MM.yyyy"/>– f:validateRegex,e.g.
<f:validateRegexpaGern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]"/>
TagLibrariesandExamples(hGp://docs.oracle.com/javaee/6/javaserverfaces/2.1/
docs/vdldocs/facelets/)
![Page 9: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/9.jpg)
• ExamplefromhGp://www.jskoolbox.com– JSF–File:date4me.xhtml
<?xmlversion='1.0'encoding='UTF-8'?><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transi4onal//EN”"hGp://www.w3.org/TR/xhtml1/DTD/xhtml1-transi4onal.dtd"><htmlxmlns="hGp://www.w3.org/1999/xhtml" xmlns:f="hGp://java.sun.com/jsf/core"xmlns:h="hGp://java.sun.com/jsf/html"><body><f:view><h:outputTextvalue="#{dateBean.today}"> <f:convertDateTimedateStyle="full"4meZone="EST"type="date"/></h:outputText></f:view></body></html>
![Page 10: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/10.jpg)
– Javacode:DateBean.java
– HTMLoutput
importjava.u4l.Date;importjavax.faces.bean.ManagedBean;importjavax.faces.bean.RequestScoped;//JSF2managedbeanfordatehandling.@ManagedBean@RequestScopedpublicclassDateBean{publicDategetToday(){returnnewDate();}}
![Page 11: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/11.jpg)
• h:JavaServerFacescomponenttagsforallUIComponent+HTMLRenderer– h:commandBuGon,e.g.<h:commandBuGonac4on="#{helloWorld.english}" value="EN"/>
– h:link,e.g.<h:linkvalue="Back"outcome="helloworld.xhtml"/>
– H:outputText,e.g.,<h:outputTextvalue="#{dateBean.today}“>
![Page 12: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/12.jpg)
HelloWorldExample
JavaHelloWorld.java
Viewshelloworld.xhtmlenglish.xhtmlgerman.xhtml
Viewconfigurea4onFaces-config.xml
web.xml
![Page 13: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/13.jpg)
• ui:addingtempla4ng,e.g.– template.xhtml(fromhGp://www.jskoolbox.com)<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transi4onal//EN""hGp://www.w3.org/TR/xhtml1/DTD/xhtml1-transi4onal.dtd"><htmlxmlns="hVp://www.w3.org/1999/xhtml"xmlns:h="hVp://java.sun.com/jsf/html"xmlns:ui="hVp://java.sun.com/jsf/facelets"><h:head><4tle><ui:insertname="\tle"/></\tle></h:head><body><h2><ui:insertname="header"/></h2><ui:insertname="message"/></body></html>
![Page 14: SWP I Tutorium](https://reader036.vdocuments.net/reader036/viewer/2022062603/62b4e143d9b4ae11e243ff93/html5/thumbnails/14.jpg)
– date4meTemplate.xhtml<body>
<ui:composi4ontemplate="template.xhtml"><ui:definename="\tle">Welcome</ui:define><ui:definename="header">Thedateoftodayis</ui:define><ui:definename="message"><h:outputTextvalue="#{dateBean.today}"> <f:convertDateTimedateStyle="full"\meZone="EST"type="date"/></h:outputText></ui:define></ui:composi4on></body></html>