jsf 2.3 pre-public review ec update - java ee · jsf 2.3 big ticket new features, done by the jsf...

52

Upload: vuminh

Post on 10-Nov-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking
Page 2: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3Pre-PublicReviewECUpdate

EdBurnsJSFSpecCo-LeadJavaEESpecGroupJanuary,2017

Page 3: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirecRon.ItisintendedforinformaRonpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfuncRonality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andRmingofanyfeaturesorfuncRonalitydescribedforOracle’sproductsremainsatthesolediscreRonofOracle.

3

Page 4: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

MyPlanforYourTimeInvestment

JCPECTemplate

JSF2.3isthemostcommunitydrivenOracle-leadJSR

Schedule

FeatureReview

1

2

3

4

4

Page 5: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JCPECTemplate

Page 6: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Business/MarkeRng/EcosystemJusRficaRon• WhydothisJSR?– JSFisanimportantpartoftheJavaEEpla[ormandmustbeupdatedtokeepcurrentandfixlongstandingissues.

• What’stheneed?– JavaEEandJavaSE8havesomecompellingnewfeatures,we’dliketotakeadvantageoftheminJSF.– WeneedtoconRnuetoimprovetheintegraRonoftheJavaEEpla[ormspecs.

• HowdoesitfitintotheJavaecosystem?– Atatechnicallevel,ithighlyleveragesServlet,CDI,BeanValidaRonandEL– Atacommunitylevel,itvalidatestheJCPasasourceforJavacollaboraRon.

6

Page 7: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Business/MarkeRng/EcosystemJusRficaRon•  IstheideareadyforstandardizaRon?– Yes.ItconRnuesthetradiRonoftakingexisRngideas,andstandardizingthem.

7

Page 8: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

• Burns,EdwardOracle• Caputo,Frankindividual• Civici,Cagatayindividual•  Fyten,KenICEsodTechnologiesInc.• Griffin,NeilLiferay,Inc•  Juneau,Joshindividual•  Leathem,BrianRedHat• Mann,KitoIndividual

• Mueller,MichaelIndividual• Nicolucci,PaulIBM• Riem,ManfredOracle•  Scholtz,BaukeZEEF•  Tijms,ArjanZEEF• Uribe,LeonardoIrianSoluRonsGmbH

ExpertGroupMembers(alphabeRcal)

8

Page 9: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

ExpertGroupOperaRons• Wehadaface-to-faceatJavaOne2016• We’vealwaysmadeuseofthejava.netcollaboraRoninfrastructure– AnyonecancreateissuesintheJIRA– AnyEGmembercantop-posttothejsr372-expertsmailinglist– Allmailstothatlistaremirroredtothe“users”list:•  [email protected]

9

Page 10: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Deliverables•  SpecDocument– JavaDocs– RenderKitDocs– VDLDocs(for“tags”tobeusedinyourJSFPages)– PDFdocument

• ReferenceImplementaRon,integratedintoJavaEE8ReferenceImplementaRon•  TCK

10

Page 11: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Publicity•  JavaOnepresentaRons• CommunityBlogs• @jsf_spectwiperhandle

11

Page 12: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

CollaboraRonwithothercommunitygroups•  Lotsofcross-membershipwithPortlet•  ExpertGroupmembersdorepresenttheirowncommuniRes– PrimeFaces– Liferay– MyFacesimplementaRonandcommunity

12

Page 13: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

ImplementaRons• Mojarra,OracleReferenceImplementaRon• MyFaces,ApacheimplementaRon,usedinWebSphere

13

Page 14: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Licenses•  StandardOracleSpecLicenses• RIlicensedsameasGlassFish

14

Page 15: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF:KeepingtheCinJCPsince2004

Page 16: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

HistoryofJSFCommunityInvolvement

•  JSFwasthefirstpartofJavatobeopensourced–  hpps://community.oracle.com/blogs/edburns/2004/06

•  JSFhasacommunitycreatedlogo– hpps://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-980

•  JSF1.0hadhugelysignificantcontribuRonsfrommanyvendors– IBM:PortletintegraRonJSR-168– Oracle:UIComponentModel– BEA:ManagedBeanmodel– Sun:Specleadershipandmanyfundamentalaspects

SomeHighlights

16

Page 17: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

HistoryofJSFCommunityInvolvement

•  JSF2.0– Facelets,mainlycontributedbyJacobHookom– Ajax,collaboraRvelydeveloped,butheavilyinfluencedbyIceFacesandAjax4JSF

•  JSF2.2– ResourceLibraryContractsfromFrankCaputo– HTML5FriendlyMarkupfromImreOsswald

SomeHighlights

17

Page 18: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2004

Page 19: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2008

Page 20: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2009

Page 21: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2010

Page 22: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2013

Page 23: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2014hpp://bit.ly/JsfFtw2015Poll:JSFandSpringMVCRe

Page 24: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSFHistoricalPerspecRve

2016

Page 25: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3andtheCommunity

Page 26: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3JSR-372

26

Page 27: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3JSR-372

27

Small,targetedsetofnewfeaturesdirectedbycommunitycontribuRon

Page 28: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3JSR-372

28

Small,targetedsetofnewfeaturesdirectedbycommunitycontribuRon

BeperCDIIntegraRon

Page 29: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3JSR-372

29

Small,targetedsetofnewfeaturesdirectedbycommunitycontribuRon

BeperCDIIntegraRonAjaxImprovements

Page 30: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3JSR-372

30

Small,targetedsetofnewfeaturesdirectedbycommunitycontribuRon

BeperCDIIntegraRonAjaxImprovements

DirectDependenceonEE8

Page 31: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3JSR-372

31

Small,targetedsetofnewfeaturesdirectedbycommunitycontribuRon

BeperCDIIntegraRonAjaxImprovements

DirectDependenceonEE8

SupportforMVC1.0

Page 32: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

AcRvismJSF2.3andtheCommunity

32

Page 33: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3andtheCommunity•  JSFEGMemberJoshJuneau’sfamousblogpost– hpp://jj-blogger.blogspot.com/2016/04/java-ee-8-what-is-current-status-case.html– UsedpublicallyavailableinformaRon,thankstoouradherencetoJCPtransparencyrules,tohighlighttheacRvitylevelofJSFoverRme– Madethecasethatthelevelwasinsufficient

33

Page 34: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3andtheCommunity

34

0

20

40

60

80

100

120

140

2014-09-01

2014-10-01

2014-11-01

2014-12-01

2015-01-01

2015-02-01

2015-03-01

2015-04-01

2015-05-01

2015-06-01

2015-07-01

2015-08-01

2015-09-01

2015-10-01

2015-11-01

2015-12-01

2016-01-01

2016-02-01

2016-03-01

2016-04-01

2016-05-01

2016-06-01

2016-07-01

2016-08-01

2016-09-01

2016-10-01

2016-11-01

2016-12-01

EGMailtrafficperMonth

EGMailtrafficperMonth

Page 35: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3andtheCommunity

•  ThoughcurrentlyMojarraGitHubisamirrorofMojarraonjava.netgit

GitHubCommits

35

Page 36: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3CompleRonSchedule

Page 37: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3CompleRonSchedule•  SharedwithJSFEGon2016-12-09– 2017-01-12AllJSF2.3relatedEGspeccontentdeliveredtolist– 2017-01-2030DayPublicReviewcommences– 2017-01-27AnyremainingEG-drivenimplementaRonworkdone– 2017-03-14FinalApprovalBallotcommences

37

Page 38: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3CompleRonSchedule• AddiRonalDetailsforEC– 2017-01-12AllJSF2.3relatedEGspeccontentdeliveredtolist– 2017-01-2030DayPublicReviewcommences– 2017-01-27AnyremainingEG-drivenimplementaRonworkdone•  2017-02-2114DayPublicDradApprovalBallotcommences•  2017-03-0614DayPublicDradApprovalBallotcompletes•  2017-03-077DayProposedFinalDradofspectoJCPPMO– AlsosubmitfinalRIandTCKforFinalApprovalBallot

– 2017-03-14FinalApprovalBallotcommences•  2017-03-27FinalApprovalBallotcompletes•  2017-03-28DisbandJSFEG

38

Page 39: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

FeatureReview

Page 40: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures,donebytheJSFEG

• BeperCDIIntegraRon– Waymorethingsareinjectable– Finallymarkinglegacymanagedbeansasdeprecated

• WebsocketIntegraRon• AjaxMethodInvocaRon• ClassLevelBeanValidaRon•  JavaTimesupport• UIDataandUIRepeatimprovements

h=p://arjan-Bjms.omnifaces.org/p/jsf-23.html

40

Page 41: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeaturesh=p://arjan-Bjms.omnifaces.org/p/jsf-23.html

Page 42: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeaturesh=p://arjan-Bjms.omnifaces.org/p/jsf-23.html

Page 43: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeaturesWebSocketIntegraBon

<!DOCTYPEhtml>

<htmllang="en"xmlns="http://www.w3.org/1999/xhtml"xmlns:f="http://xmlns.jcp.org/jsf/core"xmlns:h="http://xmlns.jcp.org/jsf/html"><h:body><h:formid="form"><h:commandButtonid="button"value="push"action="#{pushBean.send}"><f:ajax/></h:commandButton></h:form>

<f:websocketchannel="push"onmessage="function(message{document.getElementById('form:button').value=message;}"/><divid="user"/><f:websocketchannel="user"user="user"onmessage="function(message){document.getElementById('user').innerHTML=message;}"/><divid="view"/><f:websocketchannel="view"scope="view"onmessage="function(message){document.getElementById('view').innerHTML=message;}"/</h:body></html>

Page 44: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeaturesWebSocketIntegraBon

@ModelpublicclassPushBean{@Inject@PushprivatePushContextpush;@Inject@PushprivatePushContextuser;@Inject@PushprivatePushContextview;publicvoidsend(){push.send("pushed!");user.send("pushed!","user");view.send("pushed!");}}

Page 45: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures

<!DOCTYPEhtml>

<htmllang="en"xmlns="http://www.w3.org/1999/xhtml"xmlns:f="http://xmlns.jcp.org/jsf/core"xmlns:h="http://xmlns.jcp.org/jsf/html"><h:body>

<h:form>

<h:commandScriptname="foo"autorun="true"action="#{spec613.setResult('foo')}"render=":result"/>

<h:commandScriptname="bar"action="#{spec613.setResult('bar')}"render=":result"/>

</h:form>

<h:outputTextid="result"value="#{spec613.result}"/>

</h:body>

</html>

AjaxMethodInvocaBon

Page 46: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures

@Named

@RequestScoped

publicclassSomeBean{

@Inject

privateFacesContextcontext;

publicvoideval(){

context.getParRalViewContext()

.getEvalScripts()

.add("alert('Aderresponse')");

}

}

GetEvalScripts

Page 47: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures

<h:formprependId="false"id="form"><h:panelGridcolumns="2"><h:outputTextvalue="Password"/><h:inputSecretid="password1"value="#{backingBean.password1}"/><h:outputTextvalue="Passwordagain"/><h:inputSecretid="password2"value="#{backingBean.password2}"/><h:commandButtonid="submit"value="Submit"/></h:panelGrid><h:messagesid="err"/><f:validateWholeBeanvalue="#{backingBean}"copierType="SerializationCopier"validationGroups="com.sun.faces.test.javaee8.validateWholeBean.PasswordValidationGroup"/></h:form>

ClassLevelBeanValidaBon

Page 48: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures

@Named@RequestScoped@Password(groups=PasswordValidationGroup.class)publicclassBackingBeanimplementsSerializable{privateStringpassword1;privateStringpassword2;

//...}}

@Constraint(validatedBy={PasswordValidator.class})@Documented@Target(TYPE)@Retention(RUNTIME)public@interfacePassword{Stringmessage()default"Passwordfieldsmustmatch";Class<?>[]groups()default{};Class<?extendsPayload>[]payload()default{};

}

ClassLevelBeanValidaBon

Page 49: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures

publicclassPasswordValidatorimplementsConstraintValidator<Password,BackingBean>{

@Overridepublicvoidinitialize(PasswordconstraintAnnotation){}@OverridepublicbooleanisValid(BackingBeanvalue,ConstraintValidatorContextcontext){booleanresult;result=value.getPassword1().equals(value.getPassword2());returnresult;}

}

ClassLevelBeanValidaBon

Page 50: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeaturesJavaDateTimeSupport

Page 51: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JSF2.3BigTicketNewFeatures

•  SupportsIterable

UIDataandUIRepeatImprovements

Page 52: JSF 2.3 Pre-Public Review EC Update - Java EE · JSF 2.3 Big Ticket New Features, done by the JSF EG • Beper CDI Integraon – Way more things are injectable – Finally marking

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Q&A

52