У меня есть класс Groovy, MyRequest
, который используется для обработки каждого HTTP-запроса. В конструкторе этот класс устанавливает переменную экземпляра _session
в значение request.getSession(true)
(где request
- текущий запрос HttpServletRequest).
В моем скрипте Groovy первым делом я создаю экземпляр MyRequest
. Во-вторых, я проверяю определенное свойство объекта Groovlet session
. При моем первом запросе к сценарию этот объект session
является нулевым, поэтому я получаю ошибку ссылки на нулевой объект. Второй запрос к сценарию, объект session
определен и ошибки не возникает.
Согласно документации Groovlet , такую ситуацию следует ожидать, поскольку я не установил явно объект Groovlet session
после проверки его существования в моем сценарии .
Я действительно не хочу добавлять еще копировать код вставки в мои скрипты (и любые будущие в проекте). Это одна из причин, по которой я создал объект MyRequest
- для определения объекта session
для любого сценария, который его создает. Итак, как я могу определить объект session
для моих скриптов Groovy в классе MyRequest
? Можно ли каким-то образом использовать объект metaClass
?