나는 내가 play.mvc.Http.Request 만 액세스 할 수세션에서 키 값을 얻는 방법은 무엇입니까?
Http.Context.current().session().put("my-fancy-key", "some-interesting-value");
를 통해 내가 이전에 플레이 세션에 저장 한 값으로 쿠키 요청 헤더에서 직접 발굴을 시도하고있어 어떤에서 I 그 연극에 갈 수있을 것 같아. 쿠키. 쿠키 ...하지만 거기서 나는 비틀 거린다.
이 스 니펫이 작동하지 않습니다. 힌트가 있습니까?
참고 : 저는 Play 프레임 워크에없는 개체를 사용하고 있습니다. Netty가 쿠키 r/w 함수를 가지고 있고 그 중 ... javax를 직접보고있는 것이 있습니까?
String playSessionCookieName = Configuration.root().getString("session.cookieName", "PLAY_SESSION");
Http.Cookie playSessionCookie = r.cookie(playSessionCookieName);
if (playSessionCookie != null) {
// FIXME: What to do here to get my value?
Logger.debug("Found the cookie! Serialized value: " + playSessionCookie.value());
try {
ObjectInputStream objIn = new ObjectInputStream(new ByteArrayInputStream(playSessionCookie.value().getBytes()));
Http.Session session = (Http.Session) objIn.readObject();
// Here's the goal
Logger.debug("Found my value: " + session.get("my-fancy-key"));
} catch (Exception e) {
Logger.warn("Couldn't deserialize the value.", e);
}
}
도움 주셔서 감사합니다. 나는 문자열 파싱 (API로 구워진 것을 기대하고있다.)을 피하려고했지만 잘 작동하고있다. – joewyrembelski
"간단한 세션 (키)을 사용하지 않는 이유를 모르겠다 ..."에 대한 대답은 다음과 같습니다. "질문을 명확하게 읽지 않았거나 문제." – joewyrembelski