Как получить доступ к области, если ее имя используется в качестве столбца запроса

Имея дело с неким устаревшим кодом, мы столкнулись с довольно неприятной ситуацией. Мы перебираем запрос с<cfoutput query="x"> тег. Этот запрос имеет столбец с именем «url». В этом цикле мы должны проверить, существует ли ключ в области видимости URL. Поскольку CF ставит приоритет над тем, что в запросе, над общими областями страниц, я не могу использоватьstructKeyExists(url,"key") поскольку в этой точке CF касается url, это строка со значением из текущей строки запроса.

Как я могу выйти из области запроса и проверить, что находится в моем URL?

В качестве временного мы используем isDefined ("url.key"), но я все же хотел бы знать, есть ли способ выйти из области запроса.

Также нельзя реально изменить столбец или даже имя столбца в запросе без нескольких часов работы, отслеживая изменение всех ссылок на него, поэтому мы будем избегать этого, если это вообще возможно.

РЕДАКТИРОВАТЬ: Кажется, есть некоторая путаница относительно того, как этот код настроен, и почему простые решения не применяются. Мне было бы трудно привести подробный пример, но я постараюсь прояснить ситуацию.

Есть много страниц, которые будут считаться «pageA» для следующего примера. Достаточно того, что изменение того, как все работает, потребует изменения масштаба и затрат времени, чего просто не произойдет в отведенное время.

PageA выполняет запрос с одним из столбцов с именем url, затем запускает цикл вывода через cfoutput, внутри которого включен цикл PageB. Одна PageA может иметь разные переменные в области видимости URL, чем другая PageA, на самом деле они одинаковы, но могут называться по-разному (varID = x в одном случае vid = x в другом). Внутри PageB мне нужно использовать значение из этой области URL, поэтому я хочу пробежаться по разным возможным именам (если в URL существует ключ 'varID', используйте его, в противном случае используйте 'vid').

Вот почему я хочу «пробить» область запроса, чтобы получить структуру URL, а не столбец URL из запроса. Кажется, что любой другой метод требует модификации множества PageAs.

Таким образом, вопрос не в том, как конкретно решить эту проблему, так как есть много способов сделать это, я просто очень хотел бы избежать их, поскольку все они тратят много времени на внедрение и тестирование. Остается вопрос, есть ли способ получить доступ к области URL-адреса как к переменной, если URL-адрес существует в виде столбца запроса, и вы находитесь в области запроса.

Ответы на вопрос(5)

Ваш ответ на вопрос