2016-10-24 4 views
0

Ich versuche, eine dynamische URL-Zuordnung zu machen, die Sie jede Abfrage innerhalb der URl übergeben können. In diesem Moment möchte ich den Schlüssel/die Werte der Abfrage rendern, aber ohne die Controller-, Methoden- und Aktionsinformationen. SoGrails - URL-Parameter nur erhalten

wenn ich pass Person name = Mark & Alter = 60

es macht [ 'name': 'Mark', 'Alter': '60', 'controller': 'Person', Methode‘ ':' GET‘, 'action': 'getPerson']

Wie bin ich in der Lage nur die Abfrage in der uRL zu bekommen und nicht die anderen Informationen zu den Steuerungen usw.

urlMappings

"/person"{ 
     controller = "Person" 
     method = 'GET' 
     action = "getPerson" 
    } 

Person

Controller
def getPerson(){ 
    render params 
} 

Ich habe das getan, nach ihnen aus dem machen zu entfernen, indem dies zu tun:

HashMap search = params 
    String action = "action" 
    String controller = "controller" 
    String method = "method" 

    search.remove(action) 
    search.remove(controller) 
    search.remove(method) 

    render search 

Antwort

0

ich glaube, das Beste, was Sie tun können, ist, die Parameter zu entfernen, die Sie kennen und nicht wollen sehen:

def getPerson(){  
    render params.findAll { !(it.key in ['action', 'controller', 'method']) } 
} 
+0

Dies funktioniert und es ist besser als mein Ansatz. Vielen Dank – BrentG

+0

Gern geschehen - ich wünschte es gäbe einen besseren Ansatz, aber ich habe keinen gefunden. –

Verwandte Themen