| 

.NET C# Java Javascript Exception

GriffonMVCGroups

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


[|Start] > [Griffon-Buch] > [MVC Groups|GriffonMVCGroups]
[{TableOfContents }]
!!! MVC Groups
Eine MVC Group ist eine Einheit aus einer Model-, einer View- und einer Controlklasse. Anders als in Grails müssen immer alle drei Bestandteile generiert werden. Eine einzelne MVC Group kann eine komplette Anwendung, einen Dialog, oder auch nur ein einzelnes Panel darstellen. Was die MVC Group repräsentiert ist abhängig vom Top-Level Element des View-Skripts.
!! Anlegen einer MVC Group
Eine MVC Group kann mit dem folgenden Befehl angelegt werden:
{{{griffon create-mvc [package.GroupName]}}}
Durch diesen Befehl werden folgende Verzeichnisse und Dateien angelegt:
* <NameDerAnwendung>/griffon-app/controllers/<package>/__<GroupName>Controller.groovy__
* <NameDerAnwendung>/griffon-app/models/<package>/__<GroupName>Model.groovy__
* <NameDerAnwendung>/griffon-app/views/<package>/__<GroupName>View.groovy__
Ausserdem wird die MVC Group in der Datei griffon-app/conf/Application.groovy registriert:
{{{
mvcGroups {
// MVC Group for "<package.GroupName>"
'<GroupName>' {
model = '<package.GroupName>Model'
view = '<package.GroupName>View'
controller = '<package.GroupName>Controller'
}
}}}
!! Eine Instanz einer MVC Group erstellen
Die Instanziierung einer MVC Group erfolgt mit der Methode {{createMVCGroup}}. Der Rückgabewert der Methode ist eine Map bestehend aus Referenzen zu Model, View und Controller der neu erzeugten Instanz. Es gibt mehrere Ausprägungen der Methode:
* {{createMVCGroup(String mvcType)}}
* {{createMVCGroup(String mvcType, String mvcName)}}
* {{createMVCGroup(String mvcType, Map bindArgs)}}
* {{createMVCGroup(String mvcType, String mvcName, Map bindArgs)}}
Die Argumente haben die folgende Bedeutung:
||Argument||Bedeutung
| {{mvcType}} | Der {{mvcType}} muss dem <Groupname> entsprechen wie er in der Application.groovy registriert ist.
| {{mvcName}} | Über {{mvcName}} kann der erzeugten Instanz der MVC Group ein eindeutiger Name zugewiesen werden über den auf diese Instanz aus anderen MVC Groups heraus zugegriffen werden kann
| {{bindArgs}} | Mit {{bindArgs}} kann eine Map aus Argumenten übergeben werden die der neu erzeugten MVC Group in ihrer {{mvcGroupInit}} Methode zur Verfügung stehen
! Beispiel
{{{
def (settingsModel, settingsView, settingsController) = createMVCGroup('Settings',
'ModalSettingsDialog',
[baseDir:model.baseDir]);
settingsView.settingsDialog.visible = true //settingsDialog ist die id des Top-Level Elements der Settings MVC Group
}}}
Aus einer anderen MVC Group heraus könnte auf den Controller der im Beispiel erzeugten MVC Group wie folgt zugegriffen werden:
{{{app.models['ModalSettingsDialog']}}}

Diese Seite zeigt Informationen zu "GriffonMVCGroups" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.