Valge sildi vealehed näevad nürid välja ja võivad kasutajakogemust negatiivselt mõjutada. Siit saate teada, kuidas Thymeleafi abil kohandatud vealehti luua.

Tarkvaras esineb vigu. Isegi parimates rakendustes esineb teatud ajahetkel vigu. Seetõttu peaks igal rakendusel olema paigas mõned veakäsitlusmehhanismid.

Spring Boot pakub veakäsitluse automaatse konfigureerimise komponendina Whitelabeli vaikevealehte. Sellegipoolest loodetakse, et arendajad loovad kohandatud vealehe, mis asendab Whitelabeli vealehe. Sellest artiklist saate teada, kuidas kohandada oma Spring Booti rakenduste jaoks vealehte.

Spring Booti valge sildi vealeht

Kui Spring Booti rakendusel tekib tõrge, taotleb see /error URL. Kui selles kohas vaadet pole, kuvatakse valge sildi vealeht:

Whitelabeli vealehel on kirjas vea kuupäev ja kellaaeg koos vastava ajavööndiga. Lisaks näitab see vea tüüpi ja sellega seotud koodi. Whitelabeli lehel on see kirjas see on 404 viga (lehte ei leitud). Põhjus on selles, et näidisrakendusel puudub URL-i „/products” vastendus.

instagram viewer

Suurem osa Whitelabeli tõrkelehel esitatud teabest on võetud konkreetsetest veaatribuutidest. Spring Booti veavaatel on juurdepääs järgmistele veaatribuutidele.

  • viga: vea põhjus.
  • ajatempel: tõrke ilmnemise kuupäev ja kellaaeg.
  • olek: vea olekukood.
  • erand: juurerandi klassi nimi (kui viga on erandi tagajärg).
  • sõnum: erandi teade (kui viga on erandi tagajärg).
  • vead: kõik tulemused BindingResulti erandist (kui viga on erandi tagajärg).
  • jälg: erandi virna jälg (kui viga on erandi tagajärg).
  • tee: URL-i tee, kus viga ilmneb.

Tõrkelehe loomine Thymeleafiga

Teie Spring Booti rakendusel peaks olema üks vealeht, mis on salvestatud veamalli. Selle malli laiendus varieerub sõltuvalt mallitehnoloogiast, mida otsustate kasutada. Näiteks kui valite Java Server Pages (JSP) malli, peaks faili nimi olema error.jsp.

Kuid see Spring Booti näidisrakendus kasutab Thymeleafi mallimootor. Niisiis, malli nimi on error.html. Peaksite oma veamalli järjekindlalt sisestama malli kausta all ressursse kataloog koos kõigi teiste mallifailidega.

Fail error.html

html>
<htmlxmlns: th="http://www.thymeleaf.org">
 <head>
<title> Errortitle>
<linkrel="stylesheet"th: href="@{/css/style.css}"/>
 head>
 <bodyth: style="'background: url(/images/background1.jpg)
 no-repeat center center fixed;'">
<divclass="container" >
<h1>An error has occurred...h1>
<imgth: src="@{/images/error-icon.png}"
width="100px" height="100px" />
<p>There seems to be a problem with the page you requested
(<spanth: text="${path}">span>).p>
<pth: text="${'The status code is ' + status
+ ', which means that the page was ' + error + '.'}">p>
<pth: text="${'Further details: ' + message + '.'}">p>
<aclass="btn"href="/home">Back to homea>
div>
 body>
html>

Kohandatud vealeht täidab mitu olulist ülesannet. See deklareerib vea esinemise. Seejärel esitleb see HTTP-päring mis käivitas vea. Lisaks annab see kasutajale veaga seotud olekukoodi. Kuid kui kasutaja ei ole olekukoodidega tuttav, selgitatakse lehel veaatribuudi kaudu ka koodi tähendust.

Teksti viimane rida esitab kasutajale erandi korral teate. Seejärel võimaldab lõpus olev link kasutajal avalehele tagasi navigeerida. The error.html fail kasutab järgmise vaate loomiseks CSS-laadilehte ja kahte pilti:

Hoidke oma vealeht kasutajasõbralikuna

Vealehe esmane eesmärk on teavitada kasutajat konkreetse vea ilmnemisest. See vealeht on siiski rakenduse üks aspekt. Seetõttu on ülioluline tagada, et vealeht oleks ka kasutajasõbralik.

See tähendab, et tuleb valida veaatribuutide kasutamine, mis edastavad vea lihtsamal viisil. Seega võite jäljeatribuudi asemel kasutada atribuuti path, mis on palju keerulisem ja sisaldab üksikasju, mida kasutaja ei pea teadma.

Samuti ei soovi te anda juhuslikule kasutajale liigset teavet oma rakenduse sisemise toimimise kohta, kuna see võib kahjustada rakenduse turvalisust.