Обновление шаблонов гепардов и получение нечетных ошибок в назначении переменных

Я пытаюсь обновить Гепарда в рабочем проекте с 0.9 до 2.4.4. Я получаю некоторые странные ошибки при создании определенных переменных внутри шаблонов. Ниже приведен пример:

#set formUtil = $iLib.aquariumFactory("widget.FormUtil",
    defaults=[{"username": $session.get("username")}, $form])

Это приводит к следующей ошибке при компиляции:

NotFound: невозможно найти "get" при поиске "get"

Если я сделаю рефакторинг так:

#set username = $session.get("username")
#set formUtil = $iLib.aquariumFactory("widget.FormUtil",
    defaults=[{"username": $username}, $form])

Я не получаю ошибок. Я получаю похожие ошибки в других местах ("Не могу найти X во время поиска X"), но мне неясно, что изменилось в Гепарде, чтобы я мог исправно решать его.

1 ответ

Решение

Я разобрался в проблеме. В коде Cheetah WebWare Servlet есть переменные для запроса, ответа, сеанса и транзакции. Эти переменные становятся заполнителями в шаблонах. Если вы не используете WebWare, тогда эти заполнители будут установлены на None и будут переопределять любые одноименные значения в списке поиска.

Другие вопросы по тегам