Observe como estas listas são usando variáveis Pedido? Você usa variáveis Pedido para se comunicar e para trás entre o modo de a marca final do pai e da criança tags aninhadas, que é uma outra utilização aceitável deles. Você também pode fazer isso usando CFASSOCIATE e GetBaseTagData (), mas isso seria mais complicado.

um artigo submetido por Greg Hunter


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "Usando o escopo de solicitação" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.

Usando o escopo de solicitação

Variáveis dentro de tags personalizadas existe no seu próprio espaço variável, a única maneira de compartilhar dados e para trás entre a página e chamar a tag personalizada é usando os atributos e escopos de chamadas. Solicitar variáveis estão disponíveis para todos os modelos de um pedido, incluindo tags personalizados, e são a melhor maneira de dar acesso personalizado tags para variáveis globais, como Request.MainDSN, Request.Username e Request.Password. Geralmente, você deve restringir o uso de Pedidos âmbito variáveis em etiquetas personalizadas para constantes globais, tais como estes. Todos os outros dados necessários para uma marca personalizada devem ser passados a ele através de atributos. As funções podem, tags personalizados podem ser chamada recursivamente. Isso é raro, porém, e geralmente em escala avançada, porque a recursividade no tags personalizadas é usado de forma diferente em funções definidas pelo usuário. Porque UDFs são mais adequados para fazer cálculos, você encontra mais de recursão numéricos em UDFs. Por outro lado, a recursão no tags personalizadas é mais adequada para procedimentos como recursivo capotagem ou hierarquias de diretório, onde o objetivo é a saída de página em vez de retornar resultados individuais de cada chamada recursiva. O código mostra uma marca personalizada que utiliza um caminho de diretório e retorna uma lista de todos os arquivos e subpastas desse caminho. Ele utiliza a recursividade para listar o conteúdo dos subdiretórios também.

 Attributes.Directory # # \ 
Attributes.Directory # # \ # # GetFiles.Name
  

O teste CFIF para "GetFiles.Name NEQ". "E GetFiles.Name NEQ ".."" não é necessário em ColdFusion MX, MX porque não retorna esses valores. Mantivemos o teste neste anúncio para compatibilidade com ColdFusion 5. ListDir.cfm usa CFDIRECTORY para obter todos os arquivos e subpastas do diretório passado para a marca. Em seguida, loops sobre a lista de arquivos e diretórios e saídas de cada arquivo que ele encontra. Sempre que o assinante encontra um diretório, ListDir.cfm chama a si mesmo recursivamente, passando o nome do novo diretório. Chamamos ListDir.cfm em nossos sistemas, utilizando o seguinte:

CFABORT é mencionado como uma forma de interromper imediatamente a execução de uma solicitação. Dentro de uma tag personalizada, você raramente quer terminar um pedido inteira, mas você pode querer acabar com a execução da marca e retornar à página de chamada. CFEXIT Uma chamada para o seguinte aspecto:

Você tem as seguintes três valores possíveis para o método:

ExitTag: Continua a execução após a tag de fechamento.

ExitTemplate: Continua a execução ou após a abertura ou a tag de fechamento, dependendo de onde ele é chamado.

Loop: Re-executa o corpo da tag personalizado.

ExitTag pára a marca atual, o que significa que a execução continua depois da tag de fechamento (ou marca a abertura se você não tem tag de fechamento). Os códigos revelam uma marca personalizada e sua página de chamada.

 Este é o conteúdo de marca.  Este é o conteúdo após a tag de fechamento.
 Este é o conteúdo da tag de abertura.  Este é o conteúdo após a chamada CFEXIT.  Este é o teor de tag de fechamento. 

Running MyTagCall.cfm produz o seguinte:

Este é o conteúdo da tag de abertura. Este é o conteúdo após a tag de fechamento.

Chamando CFEXIT imediatamente salta tag de fechamento do passado, assim ColdFusion ignora toda a produção extra na marca e chamando página. ExitTemplate é semelhante ao ExitTag, na verdade, é diferente se você chamá-lo no modo de iniciar. Invés de retirar a etiqueta, ExitTag salta após o fim do modelo actual, em outras palavras, chamando ExitTemplate no modo de iniciar imediatamente começa a execução o corpo sim. Por outro lado, ExitTemplate chamada no modo de Fim imediatamente termina a tag personalizada.

 Este é o conteúdo da tag de abertura.  Este é o conteúdo após a chamada CFEXIT.  Este é o teor de tag de fechamento. 

Chamando o código agora mostra o seguinte resultado:

Este é o conteúdo da tag de abertura. Este é o conteúdo de marca. Este é o teor de tag de fechamento. Este é o conteúdo após a tag de fechamento.

ExitTemplate ignora o fim do modo anteriormente, mas continua a execução, no início do corpo. Loop é muito diferente da ExitTag e ExitTemplate porque Loop executa o código que já está executado. Ao invés de ignorar parte do passado da marca, re-Loop executa o corpo da tag personalizado. Como tal, pode ser chamado somente no modo de final da marca personalizada. Loop é utilizada com muito menos freqüência do que ExitTag ou ExitTemplate e é utilizado quase exclusivamente com marcas aninhadas. As alterações a estes dois tags exigir uma mudança na arquitetura da etiqueta. Nos códigos, OutputTable.cfm fez a maior parte do trabalho, e OutputColumn.cfm acabou de definir as colunas a escolha do banco de dados e saída da linha de cabeçalho para o anúncio. As modificações que você vai fazer na lista a seguir fazer OutputTable.cfm obter os dados do banco de dados, mas o trabalho de reproduzir os dados na maior parte cai sobre OutputColumn.cfm, que é uma melhor divisão do trabalho. Os códigos de mostrar o modificações OutputTable.cfm e OutputColumn.cfm.

 SELECT  # ThisTag.AssocAttribs [i]. ColumnName #  , 
FROM # # Attributes.TableName 
# # Attributes.Label # Request.getData [Attributes.ColumnName] [Request.RowNumber] #

Online: 334 users browsing the articles directory