Cómo acceder a un ámbito si su nombre se está utilizando como una columna de consulta

Al tratar con un código heredado, nos encontramos con una situación bastante molesta. Estamos en bucle a través de una consulta con el<cfoutput query="x"> etiqueta. Esa consulta tiene una columna llamada 'url'. Dentro de ese bucle, necesitamos verificar si existe una clave dentro del alcance de la url. Como CF pone una prioridad en lo que está en la consulta sobre los ámbitos de página generales, no puedo usar unstructKeyExists(url,"key") ya que en lo que respecta a CF en este punto, url es una cadena con el valor de la fila actual de la consulta.

¿Cómo puedo salir del ámbito de consulta e inspeccionar lo que hay en mi url?

Como temporal, estamos usando isDefined ("url.key"), pero todavía me gustaría saber si hay una manera de salir del alcance de la consulta.

Tampoco se puede cambiar realmente la columna, o incluso el nombre de la columna en la consulta sin unas pocas horas de trabajo buscando un cambio en todas las referencias a ella, por lo que vamos a evitar eso si es posible.

EDITAR: Parece que hay cierta confusión sobre cómo se configura este código y por qué no se aplican las soluciones simples. Me sería difícil dar un ejemplo completo, pero trataré de aclarar la situación.

Hay muchas páginas que contarían como 'pageA' para el siguiente ejemplo. Basta con que cambiar la forma en que funcionan las cosas requiera un cambio en el alcance e inversión en el tiempo que simplemente no sucederá en el tiempo asignado.

PageA ejecuta una consulta con una de las columnas que se llama url, luego inicia un bucle de salida a través de cfoutput, dentro de ese bucle se incluye la página B. Una página A puede tener diferentes variables en el alcance de la URL que otra página A, en realidad son las mismas, pero pueden tener un nombre diferente (varID = x en un caso vid = x en otro). Dentro de PageB necesito usar el valor de ese ámbito de url, así que quiero ver los diferentes nombres posibles (si la clave 'varID' existe en url, úsela, de lo contrario use 'vid').

Esta es la razón por la que quiero "perforar" el alcance de la consulta para obtener la estructura de la URL, y no la columna de la URL de la consulta. Cualquier otro método parece requerir la modificación de los muchos PageAs.

Entonces, la pregunta no es cómo resolver este problema específicamente, ya que hay muchas formas de hacerlo, realmente me gustaría evitarlos, ya que todos ellos agregan mucho tiempo en la implementación y las pruebas. La pregunta sigue siendo, ¿hay una manera de acceder al alcance de la URL como una variable si la URL existe como una columna de consulta y usted está en el alcance de la consulta?

Respuestas a la pregunta(5)

Su respuesta a la pregunta