Vejledning til Spring Web Flow

1. Oversigt

Spring Web Flow bygger på Spring MVC og tillader implementering af strømme inden for en webapplikation. Det bruges til at oprette sekvenser af trin, der guider brugerne gennem en proces eller en forretningslogik.

I denne hurtige vejledning gennemgår vi et simpelt eksempel på en brugeraktivering. Brugeren får en side og klikker på Aktivér for at fortsætte eller på Afbestille knap for at annullere aktivering.

Ikke at antagelsen her er, at vi har en allerede oprettet Spring MVC-webapplikation.

2. Opsætning

Lad os starte med at tilføje Spring Web Flow-afhængighed i pom.xml:

 org.springframework.webflow spring-webflow 2.5.0.RELEASE 

Den seneste version af Spring Web Flow kan findes i Central Maven Repository.

3. Oprettelse af et flow

Lad os nu oprette et simpelt flow. Som nævnt tidligere er flow en sekvens af trin, der guider en bruger gennem en proces. I øjeblikket kan dette kun gøres ved hjælp af XML-baseret konfiguration.

Hvert trin i strømmen kaldes a stat.

I dette enkle eksempel bruger vi en visningstilstand. EN visningstilstand er et trin i strømmen, der gengiver en matchende visning. Det visningstilstand henviser til en side i appen (WEB-INF / visning), med id for visningstilstand er navnet på den side, som den henviser til.

Vi bruger også en overgang element. EN overgang element bruges til håndtering af begivenheder, der forekommer inden for et bestemt stat.

For dette eksempelflow opretter vi tre visningstilstande - det aktivering, succesog fiasko.

Processen for denne strømning er ret ligetil. Udgangspunktet er aktivering udsigt. Hvis en aktivere begivenhed udløses, skal den overgå til succes udsigt. Hvis den afbestille begivenhed udløses, skal den overgå til fiasko udsigt. Det overgang element håndterer knappen klikhændelse, der sker i visningstilstand:

Den indledende aktiveringsside, der refereres til af id'et aktivering og ligger i WEB-INF / visning / aktivering.jsp, er en simpel side, der har to knapper, aktivere og afbestille. Ved at klikke på knapperne med udløser vores overgange for enten at sende brugeren til succes visningstilstand (WEB-INF / visning / succes.jsp) eller svigtet visningstilstand (WEB-INF / view / failure.jsp):

Klik for at aktivere konto

Vi bruger flowExecutionUrl for at få adgang til den kontekstrelaterede URI til den aktuelle flowudførelse visningstilstand.

4. Konfiguration af flowet

Dernæst konfigurerer vi Spring Web Flow i vores webmiljø. Vi gør dette ved at oprette et Flow Registry og Flow Builder Service.

Flowregistret giver os mulighed for at specificere placeringen af ​​vores strømme og også specificere en Flow Builder-tjeneste, hvis en bruges.

Flow Builder Service hjælper os med at tilpasse tjenester og indstillinger, der bruges til at opbygge flow.

En af de tjenester, vi kan tilpasse, er visning-fabrik-skaberen. Det visning-fabrik-skaberen giver os mulighed for at tilpasse ViewFactoryCreator brugt af Spring Web Flow. Da vi bruger Spring MVC, kan vi konfigurere Spring Web Flow til at bruge visningsopløseren i vores Spring MVC-konfigurationer.

Sådan konfigurerer vi Spring Web Flow til vores eksempel:

@Configuration offentlig klasse WebFlowConfig udvider AbstractFlowConfiguration {@Autowired privat WebMvcConfig webMvcConfig; @Bean offentlig FlowDefinitionRegistry flowRegistry () {return getFlowDefinitionRegistryBuilder (flowBuilderServices ()) .addFlowLocation ("/ WEB-INF / flows / aktivering-flow.xml", "aktiveringFlow") .build (); } @Bean public FlowExecutor flowExecutor () {return getFlowExecutorBuilder (flowRegistry ()). Build (); } @Bean public FlowBuilderServices flowBuilderServices () {return getFlowBuilderServicesBuilder () .setViewFactoryCreator (mvcViewFactoryCreator ()) .setDevelopmentMode (true) .build (); } @Bean public MvcViewFactoryCreator mvcViewFactoryCreator () {MvcViewFactoryCreator factoryCreator = ny MvcViewFactoryCreator (); factoryCreator.setViewResolvers (Collections.singletonList (this.webMvcConfig.viewResolver ())); factoryCreator.setUseSpringBeanBinding (sand); tilbagevenden fabrik Skaberen; }}

Vi kan også bruge XML til denne konfiguration:

5. Navigering i strømmen

For at navigere gennem flowene skal du starte webappen og gå til // localhost: 8080 / {context-path} / aktiveringFlow. For at starte appen skal du installere den på en applikationsserver, såsom Tomcat eller Jetty.

Dette sender os til den indledende side af strømmen, som er aktivering side angivet i vores flowkonfiguration:

Du kan klikke på aktivere knap for at gå til succes siden:

Eller den afbestille knap for at gå til fejlsiden:

6. Konklusion

I denne artikel brugte vi et simpelt eksempel som en guide til, hvordan du bruger Spring Web Flow.

Du kan finde den komplette kildekode og alle kodestykker til denne artikel på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found