Question

Dans le jeu vous suivez toujours le Redirect-Après-Post-modèle si vous appelez d'une méthode publique d'un contrôleur. Ceci est dans la plupart des cas, un bon comportement, mais parfois il peut être méchant. J'ai donc essayé de savoir comment cela fonctionne dans le jeu 1.1 !: La base est faite byte-code d'amélioration, ce qui se fait dans play.classloading.enhancers.ControllersEnhancer. Vous y trouverez qu'il existe encore quelques exceptions du comportement par défaut:

  1. Si votre méthode est annotées par une annotation de l'emballage play.mvc, par exemple l'Avant-annotation.
  2. Vous annoter votre action avec le ByPass-Annotation, cette annotation doit être une classe intérieure de sorte que le nom endsWith $ByPass.

Les deux solutions sont très bien si vous voulez toujours supprimer la redirection. Mais si vous voulez seulement le faire dans une situation particulière? Ensuite, vous pouvez appeler ControllerInstrumentation.initActionCall().

Je ne trouve pas une description à ce sujet, j'analyse juste le code. Sont donc ma conclusion correcte ou avoir les inconvénients des?

Était-ce utile?

La solution

Pour ce que je sais des hypothèses que vous avez raison.

Cela dit, pour ce que je comprends que vous voulez une méthode qui se termine après rien d'exécution et retourne? Ne pas ajouter d'appel « rendu » à la fin (ou un appel à une autre méthode) et qui devrait fonctionner. Je l'utilise pour les travaux Cron.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top