Specifica il rendering condizionale dell’elemento all’interno di ? non sembra funzionare

Sto cercando di build condizionatamente un elenco personalizzato usando . Ad ogni occorrenza di -1 come valore dell’elemento nell’elenco, è necessario aggiungere un’interruzione di riga.

Ho provato a usare inside per quello, ma non sembra funzionare. Valuta sempre false .

 
  • #{topicId}

È ansible?

Non con i tag JSTL, no. Esse vengono eseguite durante il tempo di creazione della vista, non durante il tempo di rendering della vista. È ansible visualizzarlo come segue, quando JSF crea la vista, i tag JSTL vengono eseguiti dall’inizio alla fine e il risultato è un albero di componenti JSF puro. Quindi, quando JSF esegue il rendering della vista, i componenti JSF vengono eseguiti dall’alto verso il basso e il risultato è un mucchio di HTML. Quindi, JSTL e JSF non sono sincronizzati come ci si aspetterebbe dalla codifica. Al momento il tuo viene eseguito, il #{topicId} non è disponibile nell’ambito.

Invece di usare , è necessario specificare la condizione nell’attributo di rendered del componente JSF di interesse. Siccome non ne hai nessuna, puoi racchiuderla in un .

 
  • #{topicId}

Le alternative sono

 

o nel tuo caso specifico

  

poiché entrambi non emettono nient’altro per l’output HTML quando non sono specificati attributi lato client.

Guarda anche:

  • JSTL in Facelets JSF2 ha senso?

Non correlato al problema concreto, quello è il posto sbagliato per un
. Sarebbe ignorato da qualsiasi browser che rispetti le specifiche HTML. Non intendi che si trovi all’interno di

  • ? O meglio, dargli una class e lasciare che i CSS diano un margin-bottom .