Трябва да взема определена персонализирана HTTP заглавна стойност от всяка заявка и да я поставя в WebSession, така че да бъде достъпна на всяка уеб страница по-късно. (Вярвам, че начинът на Wicket да направи това е да има персонализиран клас, разширяващ WebSession, който има подходящи инструменти за достъп.)
Въпросът ми е какъв вид филтър (или друг механизъм) ми трябва, за да мога едновременно да прихвана заглавката и да получа достъп до WebSession за съхраняване на стойността?
Опитах се да направя това с нормален Java EE филтър, използвайки
CustomSession session = (CustomSession) AuthenticatedWebSession.get();
Но (може би не е изненадващо), това дава:
java.lang.IllegalStateException:
you can only locate or create sessions in the context of a request cycle
Може би трябва да разширя WicketFilter и да го направя там (мога ли да осъществя достъп до сесията в този момент?), Или е необходимо нещо още по-сложно?
Разбира се, моля, посочете го, ако правя нещо напълно погрешно; Нов съм в Wicket.