Programmering

Java på serversiden: Avanceret formbehandling ved hjælp af JSP

Formularbehandling involverer typisk flere komponenter, der fungerer i baggrunden, hvor hver komponent er ansvarlig for en diskret opgave såsom tilstandsstyring, datavalidering, databaseadgang og så videre. Mens der er adskillige eksempler, der demonstrerer formbehandling med Perl-scripts og servlets, har brug af JSP'er til dette formål fået lidt opmærksomhed. Der er en grund til dette. Bortset fra det faktum, at JSP er en temmelig ny teknologi, betragter mange den som værende mest egnet til at håndtere præsentationen af ​​dynamisk indhold fra enten JavaBeans eller servlets. Som du snart skal se, kan kombinationen af ​​JSP med JavaBeans imidlertid være en kraft, du skal regne med, når du behandler HTML-formularer.

I denne artikel vil jeg undersøge håndteringen af ​​en brugerregistreringsformular ved hjælp af JSP. En af de grundlæggende programmeringsprincipper i JSP er at delegere så meget behandling som muligt til JavaBean-komponenter. Min implementering af JSP-formhåndtering vil demonstrere nogle interessante funktioner. Det vil ikke kun give grundlæggende datavalidering til registreringsinformationen, der indtastes af en bruger, men vil også udvise statefuld opførsel. Dette giver dig mulighed for at udfylde formularens inputelementer med validerede data, når brugeren løber gennem indsendelsescyklussen og til sidst indtaster de korrekte data for alle inputelementerne. Så uden videre, lad os dykke ned i eksemplet.

Se på Listing 1, som præsenterer brugeren for en simpel registreringsformular, der vises i figur 1.

Notering 1. register.html

BRUGER REGISTRERING

* Krævede felter

Fornavn*

Efternavn*

E-mail *

Postnummer*

Brugernavn *

Adgangskode*

Bekræft kodeord*

Hvilken musik er du interesseret i?

Rock Pop Bluegrass

Blues Jazz Country

Ønsker du at modtage e-mail-meddelelser om vores specielle salg?

Ja Nej

Figur 1 viser brugerregistreringsformularen, som den ville vises i en browser.

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