Guide til Spring Web Flow

1. Oversikt

Spring Web Flow bygger på Spring MVC og tillater implementering av strømmer i en webapplikasjon. Den brukes til å lage trinnsekvenser som veileder brukere gjennom en prosess eller en forretningslogikk.

I denne raske opplæringen vil vi gå gjennom et enkelt eksempel på en brukeraktivering. Brukeren får en side og klikker på Aktiver for å fortsette eller på Avbryt for å avbryte aktivering.

Ikke at antagelsen her er at vi har en allerede konfigurert Spring MVC-webapplikasjon.

2. Oppsett

La oss starte med å legge til våren Web Flow avhengighet i pom.xml:

 org.springframework.webflow spring-webflow 2.5.0.RELEASE 

Den siste versjonen av Spring Web Flow finner du i Central Maven Repository.

3. Opprette en strømning

La oss nå lage en enkel flyt. Som nevnt tidligere er flyt en sekvens av trinn som veileder en bruker gjennom en prosess. Foreløpig kan dette bare gjøres ved hjelp av XML-basert konfigurasjon.

Hvert trinn i flyten kalles a stat.

For dette enkle eksemplet bruker vi a visningstilstand. EN visningstilstand er et trinn i flyten som gir en matchende visning. De visningstilstand refererer til en side i appen (WEB-INF / visning), med IDen til visningstilstand å være navnet på siden det henviser til.

Vi vil også bruke en overgang element. EN overgang elementet brukes til å håndtere hendelser som forekommer innenfor et bestemt stat.

For dette eksemplet flyter vi opp tre visningstilstander - den aktivering, suksess, og feil.

Prosessen for denne strømmen er ganske grei. Utgangspunktet er aktivering utsikt. Hvis en aktivere hendelsen utløses, bør den overgå til suksess utsikt. Hvis den Avbryt hendelsen utløses, bør den overgå til feil utsikt. De overgang elementet håndterer knappeklikkningshendelsen som skjer i visningstilstand:

Den første aktiveringssiden, som er referert til av ID-en aktivering og ligger i WEB-INF / visning / aktivering.jsp, er en enkel side som har to knapper, aktivere og Avbryt. Ved å klikke på knappene med trigger våre overganger for å enten sende brukeren til suksess visningstilstand (WEB-INF / visning / suksess.jsp) eller feilen visningstilstand (WEB-INF / view / failure.jsp):

Klikk for å aktivere konto

Vi bruker flowExecutionUrl for å få tilgang til den kontekstrelaterte URI for den nåværende flytutførelsen visningstilstand.

4. Konfigurere strømmen

Deretter vil vi konfigurere Spring Web Flow i vårt webmiljø. Vi vil gjøre dette ved å sette opp et Flow Registry and Flow Builder Service.

Flow Registry tillater oss å spesifisere plasseringen av strømningene våre og også spesifisere en Flow Builder-tjeneste hvis en blir brukt.

Flow Builder-tjenesten hjelper oss med å tilpasse tjenester og innstillinger som brukes til å bygge flyter.

En av tjenestene vi kan tilpasse er visning-fabrikk-skaperen. De visning-fabrikk-skaperen lar oss tilpasse ViewFactoryCreator brukt av Spring Web Flow. Siden vi bruker Spring MVC, kan vi konfigurere Spring Web Flow til å bruke visningsoppløseren i vår MVC-konfigurasjoner.

Slik konfigurerer vi Spring Web Flow for vårt eksempel:

@Configuration offentlig klasse WebFlowConfig utvider AbstractFlowConfiguration {@Autowired private WebMvcConfig webMvcConfig; @Bean public FlowDefinitionRegistry flowRegistry () {return getFlowDefinitionRegistryBuilder (flowBuilderServices ()) .addFlowLocation ("/ WEB-INF / flows / aktivering-flow.xml", "aktiveringFlow") .build (); } @Bean offentlig 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 (true); retur fabrikk; skaper; }}

Vi kan også bruke XML for den konfigurasjonen:

5. Navigere gjennom strømningene

For å navigere gjennom strømningene, start nettappen og gå til // localhost: 8080 / {context-path} / aktiveringFlow. For å starte appen, distribuer den på en applikasjonsserver, for eksempel Tomcat eller Jetty.

Dette sender oss til den første siden av flyten, som er aktivering side spesifisert i vår flytkonfigurasjon:

Du kan klikke på aktivere knappen for å gå til suksesssiden:

Eller Avbryt knappen for å gå til feilsiden:

6. Konklusjon

I denne artikkelen brukte vi et enkelt eksempel som en veiledning om hvordan du bruker Spring Web Flow.

Du kan finne den komplette kildekoden og alle kodebiter for denne artikkelen på GitHub.


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