1
def testSession = Action {
    implicit request =>
      val currentTimes = Calendar.getInstance().getTimeInMillis()
      val validTimes = Long.parseLong(request.session.get("validTill").getOrElse("0"))
      if(currentTimes>validTimes)
      {
        Ok("Session expired, Please log-in again")
      }
      else
      {
       //insert code here to call def saveDemographicDetailsBrowser = Action{}
      }

ログインの有効期限が切れていない場合は、else セクションにコードを挿入して、他のアクションを呼び出す必要があります。json を受け取り、ヒットしてデータを db に保存するアクション。

4

2 に答える 2

7

別のアクションからアクションを呼び出そうとしている場合、それは単に設計が間違っていることを意味します。そのような場合、私見では、コア機能を実行するメソッドが必要であり、両方のアクションがそのメソッドを呼び出す必要があります。

とにかく、別のアクションを呼び出したい場合は、次のようにリダイレクトできます。

Redirect(routes.Dashboard.homePage)

質問が、新しい json をリクエストに入れ、このリクエストを使用して を呼び出すことによって Action を呼び出したいということである場合、それはまったくActionお勧めできません。

于 2013-10-26T06:37:13.593 に答える
0

理想的には、この種のセッション検証は、RequestHandler/ActionCreator または Action コンポジションに組み込まれるべきです。このアプローチを使用すると、リクエストがアクションに到達する前であっても、リクエストをインターセプトしてセッション期限切れのケースを検証し、適切なメッセージを送信できます。

Play フレームワークのバージョンに応じて、以下を確認できます。

https://www.playframework.com/documentation/2.5.x/JavaActionsComposition https://www.playframework.com/documentation/2.5.x/JavaActionCreator#Action-creators

于 2016-04-28T07:14:18.607 に答える