Domanda

Utilizzando JDeveloper, ho iniziato a sviluppare una serie di pagine web per un progetto di lavoro.Dato che all'epoca non sapevo molto di JDev, corsi su Oracle per seguire alcuni tutorial.I tutorial JDev consigliano di farlo JSPX invece di JSP, ma non ha spiegato veramente il motivo.Stai sviluppando pagine JSPX?Perché hai deciso di farlo?Quali sono i pro/contro di seguire il percorso JSPX?

È stato utile?

Soluzione

La differenza principale è che un file JSPX (ufficialmente chiamato "documento JSP") può essere più facile da lavorare perché il requisito di un XML ben formato può consentire all'editor di identificare più errori di battitura ed errori di sintassi durante la digitazione.

Tuttavia, ci sono anche degli svantaggi.Ad esempio, un XML ben formato deve sfuggire a elementi come i segni minore di, quindi il tuo file potrebbe finire con contenuti come:

<script type="text/javascript">
   if (number &lt; 0) {

La sintassi XML potrebbe anche essere più dettagliata.

Altri suggerimenti

JSPX presenta alcuni inconvenienti, in cima alla mia testa:

  1. È difficile generare alcuni tipi di contenuto dinamico;soprattuttogenerare un tag HTML con attributi opzionali (ad es.o a seconda di una condizione).I tag JSP standard che dovrebbero risolvere questo problema non funzionavano correttamente nel giorno in cui ho iniziato a utilizzare JSPX.
  2. Non più & nbsp;:-P
  3. Ti consigliamo davvero di inserire tutti i tuoi Javascript in file separati (o utilizzare sezioni CDATA, ecc.).IMHO, dovresti comunque usare jQuery, quindi non hai davvero bisogno di avere onclick, ecc.attributi...
  4. Gli strumenti potrebbero non funzionare correttamente;forse il tuo IDE non supporta nulla al di sopra del semplice JSP.
  5. Su Tomcat 6.x, almeno nelle versioni/config che ho provato, l'output generato non ha alcuna formattazione;solo un piccolo fastidio, però

D'altra parte:

  1. Ti costringe a scrivere XML corretto, che può essere manipolato più facilmente di JSP
  2. Gli strumenti potrebbero eseguire una convalida istantanea, rilevando gli errori prima
  3. Sintassi più semplice, a mio modesto parere

Un ragionamento completamente diverso sul perché dovresti usare jspx invece di jsp:

JSPX ed EL rendono l'inclusione di Javascript e codici Java incorporati molto più difficili e molto meno naturali da eseguire rispetto a JSP.EL è un linguaggio specificatamente studiato per la logica di presentazione.

Tutto ciò ti spinge verso una separazione più netta tra il rendering dell'interfaccia utente e altra logica.Lo svantaggio di un sacco di codice incorporato all'interno di una pagina JSP (X) è che è praticamente impossibile testare facilmente, mentre praticare questa separazione di preoccupazioni rende la maggior parte della logica completamente testabile in unità.

Ciao collega sviluppatore JDeveloper!

Lavoro con le pagine JSPX da oltre due anni e non ho mai avuto problemi con il fatto che fossero JSPX contrapposte a JSP.La scelta per me di utilizzare JSPX è stata un po' forzata poiché utilizzo JHeadstart per generare automaticamente pagine ADF Faces e, per impostazione predefinita, JHeadstart genera tutto in JSPX.

JSPX specifica che il documento deve essere un documento XML ben formato.Ciò consente alle cose di analizzarle in modo corretto ed efficiente.Ho sentito gli sviluppatori dire che questo aiuta le tue pagine a essere più "a prova di futuro" rispetto a JSP.

Come indicato nella documentazione ufficiale della Spring 3.1

"Spring fornisce un paio di soluzioni out-of-the-box per le viste JSP e JSTL."

Inoltre devi pensare al fatto che JSPX mira a produrre output puramente conforme a XML.Quindi, se il tuo obiettivo è HTML5 (che può essere conforme a XML ma aumenta la complessità, vedi i miei prossimi commenti) avrai qualche problema a raggiungere il tuo obiettivo se stai utilizzando Eclipse IDE...Se il tuo obiettivo è produrre XHTML, scegli JSPX e JDeveloper ti supporterà...

In uno dei nostri progetti cie abbiamo realizzato un POC sia con JSP che con JSPX e abbiamo definito PRO e CONTRO e la mia raccomandazione personale era di utilizzare JSP perché abbiamo trovato molto meno restrittivo e naturale produrre HTML5 in un modo non XML che è anche meno restrittivo e una sintassi più compatta.Preferiamo scegliere qualcosa di meno restrittivo e aggiungere raccomandazioni di "migliori pratiche" come "non inserire scriptlet Java" all'interno dei file jsp.(A proposito, JSPX ti consente anche di inserire scriplet con jsp:scriplet invece di <% ...%>)

@Matteo-
ADF!L'applicazione su cui sto lavorando attualmente ha il 90% del livello di presentazione generato dal mod PL/SQL.Ho iniziato a lavorare su alcuni nuovi schermi e volevo indagare su altre opzioni che potessero adattarsi alla nostra architettura, senza costituire un grosso onere di apprendimento (aumento della complessità del sistema/blocco dei modelli mentali del sistema da parte dello sviluppatore) per gli altri sviluppatori sul squadra.Quindi ADF è anche il modo in cui mi sono imbattuto in JSPX.

Ho visto anche un'osservazione "a prova di futuro"... ma non sapevo quanto fosse fondata.

JSPX è anche la tecnologia di visualizzazione consigliata in Spring MVC/Spring Web Flow.

Inoltre, un altro problema che ho riscontrato con JSPX è quando si desidera utilizzare gli scriptlet.Sono d'accordo sul fatto che il codice pulito è generalmente buono e la logica Java nel JSP è generalmente negativa, ma ci sono alcuni casi in cui si desidera utilizzare una funzione di utilità per restituire un valore di stringa o qualcosa in cui un TagLib o il modello (attributi di richiesta) sarebbero eccessivi .

Quali sono i pensieri di tutti riguardo agli scriptlet in JSP?

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