J'aimerais créer une variable globale à laquelle tous les contrôleurs peuvent accéder. Pour cela, j'ai créé une classe FrontController
qui s'étend de Controller
. Tous mes contrôleurs habituels s'étendent ensuite à partir de ce FrontController
.Accéder au contexte HTTP dans PlayFramework
Maintenant, je veux créer une variable country
dans le FrontController
qui est basé sur l'hôte. Et cette information que j'essaie d'obtenir de la demande actuelle.
Ma question est maintenant: Comment puis-je accéder au contexte HTTP actuel?
package controllers;
import play.mvc.Controller;
public class FrontController extends Controller {
// Country-Code of currenty country --> "ch", "de", "at"
private String currentCountry;
public FrontController() {
this.init();
}
private void init() {
this.initCountry();
}
private void initCountry() {
String host = request().host();
// then get country from host
}
}
Parce que quand j'essaye ce que je reçois le message d'erreur:
Error injecting constructor, java.lang.RuntimeException: There is no HTTP Context available from here
Je pense que le problème peut être la « demande() » appel.