4D v16.3

Páginas semidinamicas

Inicio

 
4D v16.3
Páginas semidinamicas

Páginas semidinamicas  


 

 

El servidor web de 4D le permite utilizar páginas semi-dinámicas.

Estas páginas son 'templates' HTML que contienen las Etiquetas HTML 4D, es decir, una mezcla de código HTML estático y referencias 4D añadidas vía las etiquetas de transformación tales com 4DHTML, 4DIF, o 4DINCLUDE. Estas etiquetas se insertan como comentarios de tipo HTML (<!--#Tag Contents-->) en el código fuente HTML.

Nota: una sintaxis alternativa basada en $ se utiliza en ciertas condiciones para las etiquetas 4DHTML, 4DTEXT y 4DEVAL con el fin de hacerlas compatibles con XML. Para más información, consulte la sección Nueva sintaxis con $ para 4DTEXT, 4DHTML, 4DEVAL.

Cuando estas páginas son enviadas por el servidor HTTP, se analizan y las etiquetas que contienen se ejecutan y se reemplazan con los datos resultantes. Las páginas recibidas por los navegadores son, una combinación de elementos estáticos y los valores procedentes de 4D.

Puede utilizar programación para dar valores por defecto a los objetos HTML incluyendo <!--#4DTEXT NomVar--> en el campo valor del objeto HTML, donde NomVar es el nombre de la variable proceso 4D como se definió en el proceso web actual. Este es el nombre que usted rodea con la notación HTML estándar para los comentarios <!--#...-->.

Nota: algunos editores HTML no aceptan <!--#4DTEXT NomVar--> en el campo valor de los objetos HTML. En este caso, deberá digitalizarlo directamente en el código HTML.

De hecho, la sintaxis <!--#4DTEXT NomVar--> le permite insertar los datos 4D en cualquier parte de la página HTML. Por ejemplo, si escribe:

<P>Bienvenido a <!--#4DTEXT vtNomSitio-->!</P>

El valor de la variable 4D vtNombreSitio se insertará en la página HTML.

Este es un ejemplo:

  //El siguiente código 4D asigna "4D4D" a la variable proceso vs4D vs4D:="4D4D" // Luego envía la página HTML "AnyPage.HTM" SEND HTML FILE("AnyPage.HTM")

La fuente de la página HTML AnyPage.HTM es la siguiente:

<html>
 <head> 
     <title>AnyPage</title> 
<script language="JavaScript"><!-- 
function Is4DWebServer(){  
    return (document.frm.vs4D.value=="4D4D") </p><p>}
 function HandleButton(){
    if(Is4DWebServer()){   
        alert("You are connected to 4D Web Server!")
  } else {
       alert("You are NOT connected to 4D Web Server!") 
} 
//--></script>
 </head>

  <body>
 <form action="/4DACTION/WWW_STD_FORM_POST" method="post" name="frm">
 <p><input type="hidden" name="vs4D" value="<!--#4DTEXT vs4D-->"</p>
 <p><a href="JavaScript:HandleButton()"><img src="AnyGIF.GIF" border=0 align=bottom></a></p>
 <p><input type="submit" name="bOK" value="OK"></p>
 </form>
 </body>
 </html>

La etiqueta <!--#4DTEXT --> permite igualmente insertar las expresiones 4D en las páginas enviadas (campos, elementos de arrays, etc.). La operación de esta etiqueta con este tipo de datos es idéntica al de las variables. También puede insertar código HTML en las variables 4D con la ayuda de la etiqueta 4DHTML. Otras etiquetas tales como 4DIF permiten controlar el código ejecutado. El conjunto de etiquetas ejecutables se describe en la sección Etiquetas HTML 4D.

El análisis del contenido de las páginas semidinámicas enviadas por 4D se efectúa en el momento de la llamada a los comandos WEB SEND FILE (.htm, .html, .shtm, .shtml) o WEB SEND BLOB (blob de tipo texto/html) o WEB SEND TEXT, como también cuando se envían páginas llamadas utilizando URLs. En este último caso, por razones de optimización las páginas que tienen el sufijo ".htm" y "html" NO se analizan.
Para forzar el análisis de páginas HTML en este caso, debe añadir el sufijo ".shtm" o ".shtml" (por ejemplo, http://www.server.com/dir/page.shtm). Un ejemplo de uso de este tipo de página se presenta en la descripción del comando WEB GET STATISTICS.
Las páginas XML (.xml, .xsl) y las páginas WML ((.wml) también son tenidas en cuenta y analizadas por 4D (ver sección [#title id="778"/]).

El análisis también puede efectuarse fuera del contexto web cuando utiliza el comando PROCESS 4D TAGS.

Internamente, el analizador trabaja con las cadenas UTF-16, pero los datos a analizar pueden haber sido codificados de manera diferente. Cuando las etiquetas contienen texto  (por ejemplo, 4DHTML), 4D convierte los datos cuando es necesario dependiendo de su origen y de la información disponible (charset). A continuación están los casos donde 4D analiza las etiquetas contenidas en las páginas HTML, como también las conversiones efectuadas:

AcciónAnálisis del contenido de las páginas enviadasSoporte de sintaxis $ (*)Conjunto de caracteres utilizado para el análisis de las etiquetas

Páginas llamadas vía URLs

X, excepto páginas con extensiones “.htm” o “.html”X, excepto páginas con sufijos “.htm” o “.html”Uso del charset pasado como parámetro del encabezado "Content-Type" de la página. Si no hay, busca de una etiqueta META-HTTP EQUIV con un charset. De lo contrario, utiliza el conjunto de caracteres por defecto del servidor HTTP
Comando WEB SEND FILEX-Uso del charset pasado como parámetro del encabezado "Content-Type" de la página. Si no hay, busca una etiqueta META-HTTP EQUIV con un charset. De lo contrario, utilice el conjunto de caracteres por defecto para el servidor HTTP
Comando WEB SEND TEXTX-No es necesaria la conversión
Comando WEB SEND BLOBX, si el BLOB es de tipo “text/html”-Uso del charset definido en el encabezado "Content-Type" de la respuesta. De lo contrario, utiliza el conjunto de caracteres por defecto del servidor HTTP
Inclusión por la etiqueta <!--#4DINCLUDE-->XXUso del charset pasado como parámetro del encabezado "Content-Type" de la página. Si no hay, busca una etiqueta META-HTTP EQUIV con un charset. De lo contrario, utilice el conjunto de caracteres por defecto para el servidor HTTP
Comando PROCESS 4D TAGSXXDatos texto: no conversión. Datos BLOB: conversión automática del conjunto de caracteres Mac-Roman por compatibilidad

(*) La sintaxis alternativa utiliza el $ disponible para las etiquetas 4DHTML, 4DTEXT y 4DEVAL (ver la sección ).

4D soporta código fuente JavaScript encapsulado en los documentos HTML y también la inserción de archivos JavaScript .js en los documentos HTML (por ejemplo <SCRIPT SRC="...").

Utilizando WEB SEND FILE o WEB SEND BLOB, usted envía una página que haya preparado en un editor HTML o creada por programación utilizando 4D y guardada como documento en disco. En ambos caso, tiene control total de la página. Puede insertar scripts JavaScript en la sección HEAD del documento y utilizar los scripts con una etiqueta FORM. En el ejemplo anterior, el script reenvía el formulario "frm" porque usted pudo darle nombre al formulario. Puede igualmente activar, aceptar o rechazar el envío del formulario a nivel de la etiqueta FORM.

Nota: 4D soporta el transporte de Applets Java.



Ver también 

Etiquetas de transformación 4D

 
PROPIEDADES 

Producto: 4D
Tema: Servidor Web

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)