Domanda

Al momento sto scrivendo un modello per OpenCms, un CMS basato su Java con un ottimo taglib-supporto e un'API potente.

In ogni caso, quando guardo tutorial o la fonte, i suoi circa 50-50 che taglibs o Javaclasses vengono utilizzati per generare (html) -output.

Io cerco di tenere i miei JSP pulito, nel senso di non codice scriplet molto (invece usando JSTL e così via). Ad un certo punto ho potuto bisogno di più controllo sul codice, questo è erano i Java-classi entrano e qui io non so fino a che punto dovrei andare (io personalmente non mi piace l'idea di generare codice HTML in una classe).

Ecco alcuni pro e contro che ho anche se:

  1. Con taglibs, non devo riavviare il contenitore di servlet ogni volta. Ho solo fare le mie modifiche e vedere il risultato
  2. Un taglib JSP è più facile da mantenere, soprattutto per webdesigner a causa della "stessa" sintassi
  3. Un JavaClass fornisce pieno / maggiore supporto IDE (tipo / controllo di sintassi)
  4. Con esigenze più complesse il JavaClass-codice è più pulito (rispetto a mettere variabili al pageContext in JSP)
  5. EL (linguaggio delle espressioni) aggiungere più potenza al JSP / taglib ma questo è ancora un altro sintassi e deve essere appreso

Ci sono delle migliori pratiche su come affrontare questo? Dato che ci sono altri colleghi, che, probabilmente, devono mantenere questo in futuro, sto cercando una soluzione / mantenibile pulito - È esaltante tutti sapete la situazione in cui si guardava codice somebodies e anche se "ma che cazzo era lui / seh pensiero" ;)

È stato utile?

Soluzione

Ho mantenuto questo piuttosto semplice in passato.

Usa taglibs quando lo scopo è la presentazione. Diciamo che avete un blocco di codice di visualizzazione che si sta andando a riutilizzare in un mucchio di pagine, nel caso di StackOverflow, diciamo che il codice di freccia. Dal momento che dovrebbe essere solo la visualizzazione dei dati, non dovrebbe bisogno e il codice Java, e mi piacerebbe utilizzare un taglib.

Usa Java codice quando è necessario convolvere dati. Se si deve guardare in un pacchetto di risorse o di applicare un po 'di formattazione non generico a qualcosa, vorrei utilizzare il codice Java, anche se io preferisco funzioni JSTL al tag per questo.

Non utilizzare per accedere ai database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top