wie übergibt man Parameter über die Aktion-Schaltfläche in grails
wurde mit toruble mit der Taste, die Aktion. Ich habe mehrere btns, die ich möchte wissen, seine paramaeter. In grails tutorial sagt, es sollte so sein:
<g:actionSubmit action="action" value="${message(code: 'default.button.edit.label', default: 'Edit')}" params="['actionTaken':editPhone]"/>
Versuchte ich mit remotelink, submitButton festgelegt, submitToRemote tags, aber keiner funktioniert. Ich bekomme immer null, wenn ich versuche, analysieren es in meinem controller:
def action=
{
def actionTaken = params.actionTaken
def employeeId= params.employeeId
MySession session = MySession.getMySession(request, params.employeeId)
profileInstance = session.profileInstance
switch(actionTaken)
{
case "editPhone" :
isEditPhone=true
break
case "editEmail" :
isEditEmail=true
break
}
render(view:"profile", model:[profileInstance:session.profileInstance, isEditPhone:isEditPhone, isEditEmail:isEditEmail])
}
Was bin ich? ist mein params code falsch? Ist mein code Parsen params falsch? das wird mich in Kreisen ohne Fortschritt. Hilfe. danke.
Haben Sie versucht, <g:actionSubmit Action="Aktion" value="${message(code: 'default.- Taste.edit.label', default: 'Bearbeiten', params:['actionTaken':editPhone])}"/>. Vielleicht habe ich vergessen {} auf die params-Attribut, wenn es nicht funktioniert, versuchen Sie wie [{}] oder {[]} ich weiß nicht Recht erinnern, wie es war. Sry
InformationsquelleAutor user742102 | 2012-07-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Grails-Dokumentation Liste nicht
params
als eines der Attribute akzeptiertactionSubmit
.Es ist möglich zu injizieren, der Wert, den Sie wollen, um Ihre params-Liste im controller durch das ausnutzen, was das tag eigentlich:
Können Sie auch wollen einfach nur code völlig getrennt von Logik in der
editPhone
undeditEmail
Aktionen wenn, das macht den code sauberer.Aktualisiert Anzeigen-Code:
InformationsquelleAutor Kevin Stricker
Den
params
Attribut wird analysiert, wie eine Karte, wo die Schlüssel behandelt werden, um strings, aber die Werte behandelt werden, als Ausdrücke. Daherwird versuchen, zu definieren, die den Schlüssel mit dem Namen
actionTaken
den Wert aus der variable mit dem NameneditPhone
für das Aps-Modell. Da gibt es keine solche variable, Sie sind immer null. So das Update ist das verschieben der Zitate:wird der Wert der Zeichenfolge "editPhone".
Diese arbeiten nicht für grails 2.0
InformationsquelleAutor Ian Roberts
Könnten Sie auch die parameter in den POST-Daten mit
in das Formular ein. Dann ist es auch erreichbar über die variable params.
Es funktioniert für mich.
InformationsquelleAutor eeezyy
Ich hatte gerade ein ähnliches problem (ich brauchte, um senden einer delete-zusammen mit einer id) und fand eine Lösung mit HTML5-ist "formaction" - Attribut des submit-Eingänge.
Sie können gegeben werden, einen Wert, einen controller, eine Aktion zusätzliche Parameter, etc.
Im Allgemeinen, um einen parameter hinzuzufügen, um einen submit-button wie ein edit von einem bestimmten sub-Objekt auf ein Formular würde, sieht wie folgt aus:
und in deinem Beispiel:
InformationsquelleAutor Jörg Rech
In meiner situation, ich hatte ein einziges form-element mit mehreren Aktionen auf jede Zeile einer Tabelle (also Daten-Tabelle Bearbeiten-buttons). Es war wichtig, senden Sie das komplette Formular-Daten so konnte ich nicht nur links. Der Schnellste Weg, fand ich zu Spritzen, ein parameter wurde mit javascript. Nicht ideal, aber es funktioniert:
Schaltfläche kann wie folgt Aussehen:
InformationsquelleAutor Domenic D.