Richiamare variabili dal Model con Thymeleaf

di il
2 risposte

Richiamare variabili dal Model con Thymeleaf

Questa è la mia pagina html:
<div th:object="${CaratteriConsentiti}">
    <h3>Rispetta le seguenti regole per scegliere il tuo nome utente e la tua password:</h3>
    <b>Nome utente:</b>
    <p>1) Può contenere 1 spazio;</p>
    …
</div>
Vorrei sostituire quel numero 1 con CaratteriConsentiti.numeroSpazi, come posso fare?
E’ scomodo scrivere il testo dei tag nella classe annotata con @Controller e poi riportare tutto nella pagina html.

2 Risposte

  • Re: Richiamare variabili dal Model con Thymeleaf

    iBaffiPro ha scritto:


    <div th:object="${CaratteriConsentiti}">
        <h3>Rispetta le seguenti regole per scegliere il tuo nome utente e la tua password:</h3>
        <b>Nome utente:</b>
        <p>1) Può contenere 1 spazio;</p>
        …
    </div>
    Vorrei sostituire quel numero 1 con CaratteriConsentiti.numeroSpazi, come posso fare?
    Il modo più semplice è:
    <p>1) Può contenere <span th:text="*{numeroSpazi}">N</span> spazio;</p>
    Nota che ho usato *{ ... } e non ${ ... } perché il th:object a livello più sopra serve a definire il selected object su cui *{ ... } viene risolto.

    Se non ti piace lo <span> nel <p>, ci sono altre soluzioni (meno belle però):

    Con string concatenation:
    <p th:text="'1) Può contenere ' + *{numeroSpazi} + ' spazio;'">nota spazi</p>
    Con literal substitution:
    <p th:text="|1) Può contenere *{numeroSpazi} spazio;|">nota spazi</p>
    Tutti questi costrutti sono ben spiegati nel tutorial che dovresti già conoscere.
  • Re: Richiamare variabili dal Model con Thymeleaf

    Nel frattempo avevo risolto ma non mi è venuto in mente che potevo usare *{...} ed accorciare un pochetto il codice.
    Ho proprio fatto bene a scrivere.
    Grazie mille Andbin! Insuperabile come sempre!
Devi accedere o registrarti per scrivere nel forum
2 risposte