# o $ nelle espressioni calcolate nelle xpages

Nel codice xml delle xpages le espressioni calcolate possono cominciare con il carattere “#” o con il carattere “$”, cioè possono essere di uno dei seguenti tipi:

  • value=”#{[language]:[expression]}”
  • value=”${[language]:[expression]}”

dove [language] è il nome del linguaggio, ad esempio javascript e [expression] è l’espressione da calcolare.

La questione è “qual è la differenza fra i due casi?”.
Per rispondere a questa domanda considera il seguente esempio:

questa xpage contiene due controlli Computed Field che mostrano la data corrente e un pulsante per l’aggiornamento della pagina.
Se apri la xpage con un browser inizialmente appare in modo simile alla seguente figura:

new date open

cioè con i tempi uguali.
Se successivamente esegui un refresh utilizzando il pulsante la pagina diventa:

new date refresh

cioè con gli orari differenti perchè solo il campo calcolato con il carattere “#” si aggiorna.
Quindi ora è possibile rispondere alla domanda iniziale:

  • value=”#{[language]:[expression]}” è calcolato ad ogni aggiornamento della pagina
  • value=”${[language]:[expression]}” è calcolato una volta sola al primo caricamento della pagina
  • Nel client designer le due diverse configurazione si ottengono selezionando nella proprietà “Value” del controllo Computed Field “Compute dynamically” or “Compute on page load” come in figura:

    new date value

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.