2016-12-29 12 views
0

Play의 플래시 메시지 구현 측면에서 두 가지 방법을 발견했습니다. 이들은 flash(flashKey, flashMessage)flash().put(flashKey, flashMessage)입니다. 여기서 flashKeyflashMessage은 모두 String입니다. 차이점은 무엇입니까?PlayFramework에서 flash (a, b)와 flash()의 차이점은 무엇입니까?

+0

어디에서'flash(). put'을 볼 수 있습니까? https://www.playframework.com/documentation/2.2.x/ScalaSessionFlash#Flash-scope – tgk

+0

oh java - https://github.com/playframework/playframework/blob/d43e3e48e7ba6cd1551e3726bd3583a7b13563a2/framework/src/play/ 즉, flash(). put (key, message)'는 단지 flash 스코프에 주어진 값을 추가하는 반면'flash (key, message)'는 다음과 같이 할 수 있습니다 : src/main/java/play/mvc/Http.java # L2011 – tgk

답변

0

flash().put(key, message) 주어진 값을

flash(key, message) 플래시 세션을 업데이트하기위한 인터페이스이다 RequestBuilder 플래시 영역을 추가하기위한 플래시 클래스 인터페이스이다. 후드에서 정확히 new HashMap<>(flash()).put(key, message) (source here)과 동일하지만 요청 쿠키를 업데이트하는 추가 단계를 수행하는 것처럼 보입니다.

flash(key, message)을 사용하여 플래시에 대한 모든 업데이트를 유지해야합니다.

+0

값을 추가하고 사용자의 쿠키를 업데이트하십시오. 그렇다면 어떻게이 코드를 해석합니까 (ctx(). flash(). put (flashKey, flashMessage);) 그리고 나서 리디렉션이 수행됩니다. 값을 추가하기 전에 Map에 값이 없다고 가정하므로 리디렉션 페이지에는 값을 사용할 수밖에 없습니다. –