Introduktion til Grails

Tags:    grails hjemmeside groovy
Skrevet af Bruger #5097 @ 30.03.2011


Opret ny model:
En model er den del der fortælle hvad vi ønsker at kunne gemme i vores database. Vi vil i denne artikel kikke på en vennebog, med informationer omkring vores venner. Derfor ønsker vi felter i databasen omkring vores venners navne, deres alder og så videre.
Lad os starte med at oprette en model. En hurtig genvej er at højreklikke på projektet, vælge Grails Tools<Open Grails Command Prompt. I promten skriver du:

create-domain-class Ven

hvor Ven i dette tilfælde er modellens navn. Dette laver en fil med navnet Ven.groovy under domain<projektnavn.

I filen laver du instanser for alle de felter som skal være i databasen. Du kan bruge alle de datatyper som du kender fra Java: String, integers, boolean osv. Selve opbygningen er næsten også som var det i Java du koder. To ting er dog værd at nævne:

- I Groovy behøver man ikke at afslutte med ”;”. Man kan godt, men for opnå pænest koder anbefales at du undlader ”;”, eller i hvert fald er konsekvent i dit valg.
- I Groovy kan variabel-typen for heltal (integer) både skrives således: Integer og ligesom i Java int.

I vores tilfælde laver vi en database med vores venners navne, alder, og en boolean omkring om de studerer. Dette ser således ud:

Fold kodeboks ind/udJava kode 


Når du har rettet i modellen, bliver man nød til at genstarte serveren. Terminer derfor serveren nu (hvis den er startet) inden du starter den op igen ved at køre run-app (knap findes ved at højreklikke på projektet og vælge Run As<Grails Command (Run-app)).


Opret Controller og View til vores model
Vi vil nu gerne oprette en controller og et view til vores oprettede model. Grails har her mulighed for at genererer dette for os. Man kan naturligvis også lave det manuelt, men for enkelhedens skyld vil vi i denne artikel benyttes os af Grails genererings værktøj. Vi kan bagefter, hvis vi ønsker det, rette i de genererede koder, så vi opnår det ønskede resultat.

Højreklik på projektet i projekt oversigten og vælg Grails Tools<Grails Command Wizard.
I boksen der kommer frem finder du generate-all og trykker next. På næste side finder du din model. I vores tilfælde Ven.groovy. Derefter afslutter vi med finish, og nyder at Grails opretter alt for os.

Vi mærker nu at vi inde under controllers<projektnavn nu har fået oprettet en controller med navnet VenController.groovy.


Navnet her er en konvension og man må ikke uden vide ændre navnet på controlleren. Dette skyldes at hvis Grails finder en model med navnet Ven.groovy, så vil den uden videre vide at dens controller hedder VenController.groovy. En controller har altså som standart suffikset Controller.groovy.

Vi bemærker også at der under views er oprettet en mappe med navnet ven. Denne mappe indeholder fire filer:


Disse filer er de sider der er blevet oprettet og kan besøges. Filerne er af typen gsp. Dette er et filformat som kan indeholde almindelig HTML, men som også har mulighed for at nogen såkaldte g-tags koder. Mere om dette senere.
Filen list.gsp viser en liste over alt data i tabellen. Show.gsp viser en specifik instans. Edit.gsp benyttes til at rette i en instans. Til sidst har vi create.gsp som benyttes til at oprette nye instanser.



Test af vores model, view og controller
Vi har nu oprettet en model, et view og en controller. Vi vil nu gerne teste om det virker.
Hvis ikke siden allerede køre så start den op (gøres ved at højreklikke på projektet og vælge Run As<Grails Command (Run-app)). På forsiden findes nu en link til din nye controller. Klik nu på denne:



Den nye side vi kommer ind på er list.gsp, som nævnt tidligere bruges til (som udgangspunkt) at liste indholdet af databasen. Desværre er listen som standart tom:

Heldigvis kan vi oprette nye instanser ved at trykke på ”Ny Ven”, hvilket vil føre dig til create.gsp.

Bemærk at hjemmeside adressen som udgangspunkt ser således ud:
/ditprojekt/controller/action/parameter

hvor controlleren i dette tilfælde er ven, action er list, create, show eller edit (kunne naturligvis også være andre, hvis du har oprettet nogen selv). Parameteret kunne være id'et på dit instans, hvis du besøger show.gsp.







Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (4)

User
Bruger #16502 @ 18.04.11 01:22
Hvorfor bruge grails istedet for rails?
User
Bruger #5097 @ 18.04.11 02:24
Hej Asker. Tja... Det er lidt et religions-spørgsmål. Altså sådan lidt smag og behag. De kan begge det samme. Grails er kraftigt inspireret af Ruby On Rails, så også opbygningen virker ens i begge miljøer.
Jeg tror det væsentligste argument for at vælge Grails frem for Ruby er hvis du allerede kender til Java, eller evt. sprog der ligner såsom C, C++ og PHP. Kender du til dem vil du føler dig rigtig godt hjemme i Grails.
De fleste med kendskaber til Ruby skal nok vende sig til deres (efter min mening) lidt anderledes syntax. Så derfor er Grails nok et godt valg for mange...
User
Bruger #4487 @ 13.05.11 12:09
Hej, Jeg syntes at det var en god introduktion til Grails, og det har virkelig vækket min nysgerrighed til dette framework. Jeg håber at der kommer en efterfølger, som går lidt mere i dybden med frameworket, og gerne en der hjælper begynderen som mig igang med at lave en hjemmeside ved hjælp af grails.
User
Bruger #5097 @ 13.05.11 18:22
Hey Martin. Tak for rosen. Jeg tænker også stærkt over tanken om en to'er. Vil måske lave en om ikke så længe
Du skal være logget ind for at skrive en kommentar.
t