私は PlayPlugin を書いています。rawInvocation(request, response) メソッドで、すべてのコントローラーがアクセスできるようにするオブジェクトを作成します。それを達成するための好ましい方法は何ですか?各ユーザーには独自のオブジェクトがあります。Play セッションがまだ作成されていないようで、そこに保存できません。ありがとう
クリスチャン・グルドナー
私は PlayPlugin を書いています。rawInvocation(request, response) メソッドで、すべてのコントローラーがアクセスできるようにするオブジェクトを作成します。それを達成するための好ましい方法は何ですか?各ユーザーには独自のオブジェクトがあります。Play セッションがまだ作成されていないようで、そこに保存できません。ありがとう
クリスチャン・グルドナー
プラグインを使用してグローバル フィルターを作成する場合は、PlayPlugin.beforeActionInvocation
メソッドを上書きすることをお勧めします。
public class MyPlugin extends PlayPlugin{
@override public void beforeActionInvocation(Method actionMethod) {
Object myObject = ...
Http.Request.current().args.put("myobject", myObject);
}
}
そして、コントローラーの誰でも、次の方法でオブジェクトを取得できます。
オブジェクト myObject =Http.Request.current().args.get("myobject")
これが最善の方法なのか推奨される方法なのかはわかりませんが、いつでもrequest.paramに追加できます。