JHTML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: niente spazi dopo l'apostrofo e modifiche minori
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(3 versioni intermedie di 3 utenti non mostrate)
Riga 1:
{{F|informatica|luglio 2023}}
{{C|enorme manuale su una tecnologia datata (la stessa Oracle nella nota 2 suggerisce di usare JSP), probabilmente da trasferire su Wikibooks|informatica|luglio 2023}}
 
'''JHTML''' è la sigla di [[Java (linguaggio di programmazione)|Java]] [[HTML]]. Questo [[linguaggio di markup|linguaggio]] (estensione dell'[[HTML]]) permette di inserire istruzioni dinamiche all'interno di pagine HTML, che avviene attraverso il tag <code><servlet></servlet></code>, che vengono poi eseguite dal server.
 
Line 10 ⟶ 13:
 
=== La classe Joomla's JHTML ===
JHTML è anche una classe molto nota del [[framework]] [[Joomla!]].<ref>{{en}}cita [web|lingua=en|url=https://api.joomla.org/Joomla-Framework/HTML/JHTML.html |titolo=Joomla Utility class for all HTML drawing classes] {{webarchive|urlurlarchivio=https://web.archive.org/web/20090119103408/http://api.joomla.org/Joomla-Framework/HTML/JHTML.html |data=19 gennaio 2009 }}</ref>
 
=== Tecnologia successiva ===
Line 16 ⟶ 19:
 
== Descrizione ==
JHTML è uno standard JavaSoft per combinare Java con pagine HTML. In particolare, JHTML rende facile intercalare dati dinamici all'interno delle pagine HTML. JHTML consente di incorporare Java in una [[pagina web]] standard. L'implementazione di JHTML da parte di WebLogic è molto simile a quella utilizzata nel WebServer di JavaSoft<ref name=":0">{{Cita web|url=https://docs.oracle.com/cd/E13222_01/wls/docs45/classdocs/API_jhtml.html|titolo=Using WebLogic JHTML|sito=docs.oracle.com|accesso=2021-02-27}}</ref>.
 
JHTML viene implementato utilizzando uno speciale servlet HTML fornito di serie con WebLogic Server, chiamato PageCompileServlet. Il PageCompileServlet è configurato per impostazione predefinita per gestire tutte le richieste HTTP per i file che terminano con ".jhtml".
Line 126 ⟶ 129:
 
; '''out'''
: out rappresenta il flusso di output della risposta HTTP, attraverso il quale il servlet JHTML invia la risposta al browser. Tecnicamente è una sottoclasse dell'oggetto java.io.OutputStream, una [[classe astratta]] che definisce come gestire i flussi di byte. L'oggetto out ha diversi metodi utilizzabili, incluso <code>write ()</code>, che prende un valore <code>String</code> e lo stampa su una pagina, e <code>flush ()</code> che permette di cancellare il flusso prima di stampare qualcosa di nuovo.
; '''request'''
: request è l'oggetto HttpServletRequest. Contiene informazioni sulla richiesta del browser e dispone di diversi metodi utili per ottenere cookie, intestazione e dati di sessione.
Line 153 ⟶ 156:
{| class="wikitable"
|
== Hello World Test ==
Hello World generato da Java
 
Line 179 ⟶ 182:
 
=== Definizione del corpo del metodo di servizio ===
Come descritto sopra, il JHTML viene prima compilato in un file Java servlet HTTP standard, quindi compilato utilizzando un compilatore java standard. L'ordine di HTML e Java nella pagina JHTML viene mantenuto quando tradotto in [[codice sorgente]] Java.
 
Si può utilizzare qualsiasi costrutto Java nel JHTML, come loop o istruzioni condizionali. È possibile passare da Java a HTML per incorporare l'output HTML in un costrutto Java. Ad esempio:
Line 229 ⟶ 232:
Si può chiamare questo metodo da qualsiasi altro codice Java nel JHTML. Si noti che le altre variabili dichiarate in questo blocco sono nell'ambito della classe, quindi è anche possibile fare riferimento a qualsiasi blocco <java> nel proprio JHTML.
 
== Utilizzando il backtick ==
Per impostazione predefinita, WebLogic supporta l'uso del backtick nei tag Java. Si possono inserire backtick arbitrari ovunque nel'HTML. Un'istruzione Java all'interno di un backtick viene valutata, convertita in una stringa e inviata al flusso di output del servlet. I backtick sono essenziali per inserire contenuto dinamico all'interno di tag HTML, come un collegamento a un altro documento, in base a un valore variabile<ref name=":0" />.
 
Line 240 ⟶ 243:
weblogic.httpd.initArgs. *. jhtml = backtick = '''''true | false'''''
 
=== Utilizzo del monitoraggio della sessione ===
Il server HTTP di WebLogic supporta anche il monitoraggio della sessione, che consente di tenere traccia delle informazioni su un utente mentre procede attraverso l'applicazione web. Ad esempio, un'asta online o un'applicazione di trading potrebbe utilizzare il monitoraggio della sessione per tenere il passo con ciò che un utente ha aggiunto a un carrello o con le offerte che un utente sta facendo su un articolo in vendita.
 
Line 265 ⟶ 268:
while (paramNames.hasMoreElements ()) {
String name = (String) paramNames.nextElement ();
String [] values ​​= request.getParameterValues ​​(nome);
session.putValue (name,
(values! = null? values ​​[0]: "null"));
out.print ("<nowiki><tr></nowiki> <nowiki><td></nowiki>" + nome + "<nowiki></td></nowiki> <nowiki><td></nowiki>" +
valore + "<nowiki></td></nowiki> <nowiki></tr></nowiki>");
Line 276 ⟶ 279:
</html>
 
=== Recupero dei dati con JDBC ===
Questo esempio mostra come accedere a un database da JHTML per includere contenuto dinamico nelle pagine web.
<java>
Line 317 ⟶ 320:
</java>
 
== Compilatore JHTML di WebLogic ==
Poiché <code>PageCompileServlet</code> chiama automaticamente il compilatore JHTML di WebLogic come richiesto, in genere non è necessario accedervi direttamente. Tuttavia, potrebbero esserci situazioni (come il debug) in cui l'accesso diretto al compilatore può essere utile. Questa sezione viene fornita come riferimento per il compilatore.
 
Il compilatore JHTML di WebLogic analizza il file .jhtml prodotto in un file Java e quindi compila il file Java in un file di classe, il tutto in un unico passaggio<ref name=":0" />.
 
==== Sintassi ====
Il compilatore JHTML funziona più o meno allo stesso modo in cui funzionano gli altri compilatori WebLogic (inclusi i compilatori RMI ed EJB):
$ '''java weblogic.jhtmlc ''-options'' ''nomefile'''''
Line 329 ⟶ 332:
'''myFile.jhtml'''
 
==== argomenti ====
Le opzioni disponibili sono: