Domanda

In giocare sempre seguire il Redirect-Dopo-Post-pattern se si chiama da a-metodo pubblico di un controller. Questo è in molti casi un comportamento buono, ma a volte potrebbe essere brutto. Così ho cercato di scoprire come funziona in gioco 1.1 !: La base è un po 'di byte-code-valorizzazione, che è fatto in play.classloading.enhancers.ControllersEnhancer. Vi si possono trovare che esiste ancora qualche eccezione del comportamento di default:

  1. Se il metodo è annotato da un'annotazione dal play.mvc pacchetto, ad esempio, la Prima-annotazione.
  2. di annotare le azione con il ByPass-Annotazione, questa annotazione deve essere un interno di classe in modo che il nome $ByPass EndsWith.

Entrambe le soluzioni vanno bene se si vuole sempre per sopprimere il reindirizzamento. Ma cosa succede se si desidera solo fare in situazione particolare? Poi si può chiamare ControllerInstrumentation.initActionCall().

Non trovare una descrizione su di esso, ho solo analizzare il codice. Così sono la mia conclusione corretto o avere gli eventuali svantaggi?

È stato utile?

Soluzione

Per quello che so che le assunzioni sono corrette.

Detto questo, per quello che ho capito che vuoi un metodo che termina dopo l'esecuzione e non restituisce nulla? Non aggiungere alcuna chiamata "rendere" alla fine (o qualsiasi chiamata a un altro metodo) e che dovrebbe funzionare. Io lo uso per lavori cron.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top