2013-04-15 12 views
35

Ho un testo da rappresentare in tre diversi colori possibili usando thymeaea.Come avere più condizioni in un th: se tag usando thimeleaf

Quindi il codice che ho fatto finora per verificare il valore è:

th:if="${evaluation} > 50" 
th:if="${evaluation} < 30" 

e che funziona bene.

Ma il terzo test è per i valori tra questi due. Così ho provato:

th:if="(${evaluation} < 49) ∧ (${evaluation} > 29)" 

ma non funziona, ho questo errore durante l'analisi:

org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "(${evaluation} < 49) &and; (${evaluation} > 29)" (/property.html:41) 

Naturalmente, queste linee sono tra i tag in quanto i primi due funzionino correttamente.

Forse l'operando non è corretto, ma la documentazione di Thymeleaf non è veramente esplicita su quegli operandi.

Tutte le idee sono benvenute!

Aggiornamento: Ho ricevuto la risposta dal forum di Thymeleaf. Il modo per farlo è:

th:if="${evaluation &lt; 49 and evaluation &gt; 29}" 

Problema risolto!

risposta

44

Ho ricevuto la risposta dal forum di Thymeleaf. Il modo per farlo è:

th:if="${evaluation &lt; 49 and evaluation &gt; 29}" 

Problema risolto!

16

Questo è ciò che ha funzionato per me:

th:if="${evaluation lt 49 and evaluation gt 29}" 
+0

Utilizzando un oggetto Date ho trovato i seguenti lavori ** th: if = "$ {date.month ge 4 e date.month le 4}" ** – Benjamin

+3

La stessa risposta accettata, ma sintassi più pulita. Se questo si configura per funzionare, dovrebbe essere la risposta accettata. –

8

A mio parere, una soluzione migliore e più gestibile potrebbe essere quello di scrivere il codice di valutazione in una classe adeguata.

class Evaluator{ 

private int value; 
.... 

public boolean isBounded() { 
    return value < 49 && value > 29; 
} 

poi nel thymeleaf, chiamare la funzione:

<p th:if="${evaluator.isBounded()} ... 

Alcuni vantaggi:

  1. Cleaner modello.
  2. Controllo in codice java.
  3. Isolamento. Valutazioni più complesse potrebbero essere scritte senza modificare il modello.

Spero che questo aiuti.

+3

Questo non risponde alla domanda. –

Problemi correlati