JHTML: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Aggiornamento della voce |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(7 versioni intermedie di 7 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>{{
=== 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
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 118 ⟶ 121:
|Stampa l'espressione Java inclusa nel flusso di output. Questo è molto simile all'uso del backtick.
|-
|'''`
|Operatore. Si può incorporare un'espressione Java in qualsiasi tag HTML arbitrario racchiudendola tra apici. L'espressione viene valutata e quindi convertita in una stringa.
|}
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'
; '''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
Questo non è Java!
''
Questo è un ciclo Java! 1
Line 171 ⟶ 175:
=== Importazione di pacchetti ===
È possibile avere solo un tag <code><java type = import></code> in un file JHTML, ma è possibile avere molte istruzioni di importazione all'interno di quel tag. Sebbene
<java type = import>
import java.io. *;
Line 178 ⟶ 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 228 ⟶ 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 236 ⟶ 240:
Usare il backtick in questo modo significa che non si può più usare un carattere backtick direttamente nel codice HTML. La soluzione è stampare un backtick sul flusso di output all'interno dei tag <java>. Poiché il backtick è usato raramente, la comodità di usare ''backtick-java-expression'' nell' HTML supera questo inconveniente.
È possibile abilitare e disabilitare l'
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 264 ⟶ 268:
while (paramNames.hasMoreElements ()) {
String name = (String) paramNames.nextElement ();
String [] values
session.putValue (name,
(values! = null? values
out.print ("<nowiki><tr></nowiki> <nowiki><td></nowiki>" + nome + "<nowiki></td></nowiki> <nowiki><td></nowiki>" +
valore + "<nowiki></td></nowiki> <nowiki></tr></nowiki>");
Line 274 ⟶ 278:
</body>
</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" />.
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'''
Le opzioni disponibili sono:
Line 348 ⟶ 351:
: Destinazione dell'output compilato (il file di classe). Una scorciatoia per posizionare le classi compilate in una directory che è già nel CLASSPATH.
; ''-keepgenerated''
: Conserva i file Java creati come passaggio intermedio nel processo di
; ''-compiler''
: Sostituisce un altro compilatore per javac per la compilazione da Java a classe.
Line 358 ⟶ 361:
: Fa in modo che il compilatore Java stampi un avviso su qualsiasi classe o metodo deprecato chiamato o utilizzato dal file <code>.jhtml</code>.
; ''-J''
:
== Note ==
|