grails
GSP
Ricerca…
Parametri
Variabili e ambiti | Dettagli |
---|---|
applicazione | Istanza ServletContext |
applicationContext | Spring istanza ApplicationContext |
veloce | L'oggetto flash |
grailsApplication | Istanza GrailsApplication |
su | autore della risposta per scrivere nel flusso di output |
params | oggetto params per il recupero dei parametri della richiesta |
richiesta | Istanza HttpServletRequest |
risposta | HttpServletResponse instance |
sessione | Istanza di HttpSession |
webRequest | Istanza GrailsWebRequest |
Nozioni di base
GSP supporta l'utilizzo di <% %>
%% <% %>
blocchi di scriptlet per incorporare il codice Groovy (questo è sconsigliato):
<html>
<body>
<% out << "Hello GSP!" %>
</body>
</html>
Puoi anche utilizzare la sintassi <%= %>
per i valori di output, come in JSP:
<html>
<body>
<%="Hello GSP!" %>
</body>
</html>
GSP supporta anche i commenti lato server in stile JSP:
<html>
<body>
<%-- This is my comment --%>
<%="Hello GSP!" %>
</body>
</html>
espressioni
In GSP la sintassi <%= %>
viene utilizzata raramente a causa del supporto per le espressioni GSP .
Un'espressione GSP è simile a un'espressione JSP EL oa Groovy GString e assume il formato ${expr}
:
<html>
<body>
Hello ${params.name}
</body>
</html>
Tuttavia, a differenza di JSP EL puoi avere qualsiasi espressione di Groovy all'interno del blocco ${..}
.
Qualsiasi espressione di Groovy può essere interpolata in tutte le stringhe letterali, a parte le stringhe singole e triple quotate. L'interpolazione è l'atto di sostituire un segnaposto nella stringa con il suo valore dopo la valutazione della stringa. Le espressioni segnaposto sono circondate da $ {} o precedute da $ per le espressioni tratteggiate. Il valore dell'espressione all'interno del segnaposto viene valutato alla sua rappresentazione di stringa quando il GString viene passato a un metodo che accetta una stringa come argomento chiamando aString () su quell'espressione.
Tag GSP
Esistono vari tipi di tag gsp che possono essere utilizzati per creare moduli, campi di testo, pulsanti di opzione, caselle di controllo, se-else, per ogni ecc.
<g: se>
<g:if test="${session.role == 'admin'}">
<%-- show administrative functions --%>
</g:if>
<g:else>
<%-- show basic functions --%>
</g:else>
<g: ogni>
<g:each in="${[1,2,3]}" var="num">
<p>Number ${num}</p>
</g:each>
modulo
<g:form name="myForm" url="[controller:'book',action:'list']">...</g:form>
campo di testo
<g:textField name="myField" value="${myValue}" />
Radio
<g:radio name="myGroup" value="1"/>
Segui questo link per maggiori informazioni - http://docs.grails.org/latest/guide/theWebLayer.html#tags