4D v16.3

Páginas semi dinâmicas

Página Inicial

 
4D v16.3
Páginas semi dinâmicas

Páginas semi dinâmicas  


 

 

O servidor web de 4D lhe permite utilizar páginas semi dinâmicas.

Estas páginas são 'templates' HTML que contém as Etiquetas HTML 4D, ou seja, uma mistura de código HTML estático e referências 4D adicionadas sob as etiquetas de transformação tais com 4DHTML, 4DIF, ou 4DINCLUDE. Estas etiquetas se inserem como comentários de tipo HTML (<!--#Tag Contents-->) no código fonte HTML.

Nota: uma sintaxe alternativa baseada em $ é utilizada em certas condições para as etiquetas 4DHTML, 4DTEXT e 4DEVAL com o objetivo de fazer com que sejam compatíveis com XML. Para mais informação, consulte Sintaxe alternativa para 4DTEXT, 4DHTML, 4DEVAL.

Quando estas páginas são enviadas pelo servidor HTTP, se analisam e as etiquetas que contém se executam e se substituem com os dados resultantes. As páginas recebidas pelos navegadores são, uma combinação de elementos estáticos e os valores procedentes de 4D.

Pode utilizar programação para dar valores por padrão aos objetos HTML incluindo <!--#4DTEXT NomVar--> no campo valor do objeto HTML, onde NomVar é o nome da variável processo 4D como se definiu no processo web atual. Este é o nome que você em torno com a notação HTML estandarte para os comentários <!--#...-->.

Nota: alguns editores HTML não aceitam <!--#4DTEXT NomVar--> no campo valor dos objetos HTML. Neste caso, deverá digitalizar diretamente no código HTML.

Na verdade, a sintaxe <!--#4DTEXT NomVar--> lhe permite inserir os dados 4D em qualquer parte da página HTML. Por exemplo, se escrever:

<P>Bem vindo a <!--#4DTEXT vtNomSitio-->!</P>

O valor da variável 4D vtNomeSite será inserido na página HTML.

Este é um exemplo:

  // O seguinte código 4D atribui "4D4D" a variável processo vs4D
 vs4D:="4D4D"
  // Logo envia a página HTML "AnyPage.HTM"
 SEND HTML FILE("AnyPage.HTM")

A fonte da página HTML AnyPage.HTM é a seguinte:

<html>
<head>
    <title>AnyPage</title>
<script language="JavaScript"><!--
function Is4DWebServer(){
return (document.frm.vs4D.value=="4D4D")
}

function HandleButton(){
if(Is4DWebServer()){
alert("Está conectado ao servidor web 4Der!")
} else {
alert("Não está conectado ao servidor web 4D!")
}

//--></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>

A etiqueta <!--#4DTEXT --> permite igualmente inserir as expressões 4D nas páginas enviadas (campos, elementos de arrays, etc.). A operação desta etiqueta com este tipo de dados é idêntica ao das variáveis. Também pode inserir código HTML nas variáveis 4D com a ajuda da etiqueta 4DHTML. Outras etiquetas tais como 4DIF permitem controlar o código executado. O conjunto de etiquetas executadas se descreve na seção Etiquetas HTML 4D.

A análise do conteúdo das páginas semi-dinâmicas enviadas por 4D se realiza no momento da chamada aos comandos WEB SEND FILE(.htm, .html, .shtm, .shtml) ou WEB SEND BLOB (blob de tipo texto/html) ou WEB SEND TEXT, assim como quando são enviadas páginas chamadas utilizando URLs. Neste último caso, por razões de otimização as páginas que tem o sufixo ".htm" e "html" NÃO são analisadas.
Para forçar a análise de páginas HTML neste caso, deve adicionar o sufixo ".shtm" ou ".shtml" (por exemplo, http://www.server.com/dir/page.shtm).
Um exemplo de uso deste tipo de página se apresenta na descrição do comando WEB GET STATISTICS.

As páginas XML (.xml, .xsl) e as páginas WML ((.wml) também são levadas em consideração e analisadas por 4D (ver seção [#title id="778"/]).

A análise também pode ser feita fora do contexto web quando utilizar o comando PROCESS 4D TAGS.

Internamente, o analisador trabalha com as cadeias UTF-16, mas os dados a analisar podem ter sido codificados de maneira diferente. Quando as etiquetas contém texto (por exemplo, 4DHTML), 4D converte os dados quando é necessário dependendo de sua origem e da informação disponível (charset). A continuação estão os casos aonde 4D analisa as etiquetas contidas nas páginas HTML, como também as conversões realizadas:

Ação Análise do conteúdo das páginas enviadasConjunto de caracteres utilizado para a análise das etiquetas

Extensões das páginas (caso geral):

.htm, .html, .shtm, .shtml (páginas HTML)X
.xml, .xsl (páginas XML)X
.wml (páginas WML)X
Páginas chamadas via URLsX, exceto páginas com extensões “.htm” or “.html”Uso do charset passado como parâmetro do cabeçalho "Content-Type" da página. Se não há nenhum, procura uma etiqueta META-HTTP EQUIV com um charset. Caso contrário, utiliza o conjunto de caracteres por padrão do servidor HTTP
Comando WEB SEND FILEXUso do charset passado como parâmetro do cabeçalho "Content-Type" da página. Se não há nenhum, procure uma etiqueta META-HTTP EQUIV com um charset. Caso contrário, utilize o conjunto de caracteres por padrão do servidor HTTP
Comando WEB SEND TEXTXNão é necessária a conversão
Comando WEB SEND BLOBX, se o BLOB é de tipo “text/html”Uso do charset passado como parâmetro do cabeçalho "Content-Type" da resposta. Caso contrário, utiliza o conjunto de caracteres por padrão do servidor HTTP
Inclusão pela etiqueta <!--4DINCLUDE -->XUso do charset passado como parâmetro do cabeçalho "Content-Type" da página. Se não há nenhum, procure uma etiqueta META-HTTP EQUIV com um charset. Caso contrário, utilize o conjunto de caracteres por padrão do servidor HTTP
Comando PROCESS 4D TAGSXDados texto: não conversão. Dados BLOB: conversão automática do conjunto de caracteres Mac-Roman por compatibilidade

(*) a sintaxe alternativa utiliza a $ disponível para as etiquetas 4DHTML, 4DTEXT e 4DEVAL (ver a seção ).

4D é compatível com código fonte JavaScript encapsulado nos documentos HTML e também a inserção de arquivos JavaScript .js nos documentos HTML (por exemplo <SCRIPT SRC="...").

Utilizando SEND HTML FILE ou SEND HTML BLOB, você envia uma página que tenha sido preparado em um editor HTML ou criada por programação utilizando 4D e salvada como documento em disco. Em ambos os casos, tem controle total da página. Pode inserir scripts JavaScript na seção HEAD do documento e utilizar os scripts com uma etiqueta FORM. No exemplo anterior, o script reenvia o formulário "frm" porque você pode ter dado nome ao formulário. Da mesma maneira pode ativar, aceitar ou recusar o envio do formulário ao nível da etiqueta  FORM.

Nota: 4D é compatível com o transporte de Applets Java.



Ver também 

Etiquetas HTML 4D

 
PROPRIEDADES 

Produto: 4D
Tema: Web Server

 
HISTÓRIA 

 
ARTICLE USAGE

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