Domanda

I "nuovi" tag dei file di tag JSP 2.0 sono incredibilmente utili e nella maggior parte dei casi (almeno quello che ho visto) forniscono un formato molto più leggibile di una classe Java.Tuttavia, mentre i file di tag possono farlo Quasi tutto ciò che un tag di classe Java può fare, c'è una cosa enorme che non possono fare:avere un contenuto del corpo "scripting" (ad es."<%" tra i tag di inizio e fine).

Quindi la mia domanda è composta da più parti:

  1. Qualcuno sa perché (dal punto di vista del design) è così?È intrinsecamente impossibile che i file di tag abbiano tale contenuto a causa del modo in cui sono implementati o qualcosa del genere?
  2. Qualcuno sa se ci sono piani futuri per consentire body-content="JSP" nei file di tag (forse in una versione futura dello standard JSP)?
  3. Qualcuno conosce un modo per "hackerare" i file di tag per consentire loro di avere contenuti di scripting (ad esempio avendo un contenuto del corpo senza script e quindi elaborando i contenuti in qualche modo)?

Fondamentalmente il mio sogno è quello di scrivere un giorno file di tag che non diano luogo a eccezioni se qualcuno inserisce un file

<%= myVar %>

dentro, e sto solo cercando di determinare se quel sogno è senza speranza o no.

È stato utile?

Soluzione

I tag JSP sono stati progettati in questo modo in modo che non ci sarà una completa separazione delle preoccupazioni tra il livello di presentazione e il codice sottostante. pagine JSP dovrebbero essere a cura di designer e, pertanto, utilizzando il codice Java non è appropriato.

Suppongo che è necessario per adattare le vostre abitudini di codifica in questa filosofia. È possibile spostare tutto il codice Java per i vostri fagioli. Fare tutto il necessario lì e poi passare il fagiolo appropriata alla pagina JSP. La gestione delle eccezioni dovrebbe anche andare lì. Se questo non è sufficiente, si può sempre creare i propri tag da usare.

Altri suggerimenti

Possono, se utilizzi tag vecchio stile, ad es.derivato da BodyTag.Tuttavia, le implementazioni SimpleTag non possono.

Poiché i frammenti JSP non supportano gli scriptlet, il formato di a Tag semplice non può essere "JSP"

Personalmente eviterei del tutto di utilizzare Java per scrivere tag, se possibile, e utilizzerei semplicemente il nuovo stile .tag.Puoi incorporare il codice Java in tali file di tag, anche se in generale se sei costretto a farlo probabilmente stai facendo qualcosa di sbagliato.

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