Obtenir les paramètres de la requête avec le Jeu de Cadre?
J'apprends à jouer du cadre et de comprendre que je peux mapper une demande comme /manager/user
comme:
GET /manage/:user Controllers.Application.some(user:String)
Comment mapper une demande comme /play/video?video_id=1sh1
?
- de jeu /jeu/vidéo?video_id=:id Contrôleurs.Application.vide(id:String)
- J'espère que fonctionne. Semble logique
- Bien ne fonctionne pas est-il une méthode u peut appeler pour l'extraire
Vous devez vous connecter pour publier un commentaire.
Vous avez au moins deux possibilités, appelons-les
approach1
etapproach2
.0
est un bon candidat, car il sera plus facile à construire qu'une certaine condition sur le dessus de cela. C'est aussitypesafe
, et pré-valide lui-même. Je recommander cette solution au début.String
si vous avez besoin d'analyser en entier et en outre de valider si nécessaire.routes
:actions:
PS: LOL je viens de réaliser que vous souhaitez utiliser identificateur de Chaîne... de toute façon à la fois des approches similaires 🙂
POST
méthodes, et les paramètres sont ajoutés sous forme de paramètres? Quand j'ai essayé, le contrôleur n'était pas reconnaissant le paramètre entrant des valeurs...Je voudrais faire simplement à l'aide de:
Et au contrôleur de vous aurait, bien sûr, quelque chose comme:
Sinon, vous n'avez pas à ajouter
video_id:String
depuis play semble traiter les paramètres de Chaîne par défaut, de sorte qu'il fonctionne comme ceci (au moins avec le plus récent de jouer):Tapant
localhost:9000/play/video?video_id=1sh1
de la barre d'adresse doit maintenant vous donner la vue qui s'imprime:Pour ajouter plus de paramètres est simple, comme ceci:
Contrôleur:
Tapant
localhost:9000/play/video?video_id=1as1&site=www.google.com&page=3
de la barre d'adresse doit maintenant vous donner la vue qui s'imprime:Vous êtes les bienvenus ^^.
Je ne suis pas sûr si j'ai obtenu ce que vous vouliez dire, si vous signifiait pour mapper une adresse url de la fonction de contrôleur de la réponse de biesior est parfait, mais si vous voulez dire la soumission d'un formulaire avec la méthode get comme
et ayant la forme du paramètre dans l'url l'url-réecrit format comme
Il n'y a aucun moyen de le faire que parce que c'est http spécifications
Je fais souvent de contourner cette limitation en obtenant les paramètres dans la première fonction de contrôleur de gestion, puis de les rediriger vers un autre point de vue tout comme le suivant
Alors que ce soit dans le page2
Et ont cela dans le fichier de routes :
J'espère que ça aide, mais je ne suis pas sûr que c'est la meilleure pratique
Ok, donc je viens de lire la documentation et de ce que je comprends, c'est que vous avez besoin de
Et puis dans le contrôleur d'appel de la getQueryString de l'objet HttpRequest
http://www.playframework.com/documentation/api/2.1.0/java/index.html