grails
GSP
Szukaj…
Parametry
Zmienne i zakresy | Detale |
---|---|
podanie | Instancja ServletContext |
applicationContext | Spring ApplicationContext instance |
Lampa błyskowa | Obiekt flash |
grailsApplication | Instancja GrailsApplication |
na zewnątrz | moduł zapisujący odpowiedzi do zapisu w strumieniu wyjściowym |
parametry | obiekt params do pobierania parametrów żądania |
żądanie | Instancja HttpServletRequest |
odpowiedź | Instancja HttpServletResponse |
sesja | Instancja HttpSession |
webRequest | Instancja GrailsWebRequest |
Podstawy
GSP obsługuje użycie bloków skryptletów <% %>
%% <% %>
do osadzania kodu Groovy (jest to odradzane):
<html>
<body>
<% out << "Hello GSP!" %>
</body>
</html>
Możesz także użyć składni <%= %>
do wartości wyjściowych, jak w JSP:
<html>
<body>
<%="Hello GSP!" %>
</body>
</html>
GSP obsługuje również komentarze po stronie serwera w stylu JSP:
<html>
<body>
<%-- This is my comment --%>
<%="Hello GSP!" %>
</body>
</html>
Wyrażenia
W GSP rzadko używana jest składnia <%= %>
ze względu na obsługę wyrażeń GSP .
Wyrażenie GSP jest podobne do wyrażenia JSP EL lub Groovy GString i przyjmuje postać ${expr}
:
<html>
<body>
Hello ${params.name}
</body>
</html>
Jednak w przeciwieństwie do JSP EL możesz mieć dowolne wyrażenie Groovy w bloku ${..}
.
Każde wyrażenie Groovy może być interpolowane we wszystkich literałach ciągów, oprócz ciągów jedno- i potrójnych pojedynczych cudzysłowów. Interpolacja polega na zastąpieniu symbolu zastępczego w łańcuchu jego wartością po ocenie łańcucha. Wyrażenia zastępcze są otoczone przez $ {} lub poprzedzone znakiem $ dla wyrażeń kropkowanych. Wartość wyrażenia w symbolu zastępczym jest oceniana pod kątem reprezentacji ciągu, gdy GString jest przekazywany do metody przyjmującej ciąg jako argument przez wywołanie metody toString () dla tego wyrażenia.
Tagi GSP
Dostępnych jest wiele tagów gsp, których można używać do tworzenia formularzy, pól tekstowych, przycisków opcji, pól wyboru, jeśli-inaczej, dla każdego itd.
<g: if>
<g:if test="${session.role == 'admin'}">
<%-- show administrative functions --%>
</g:if>
<g:else>
<%-- show basic functions --%>
</g:else>
<g: każdy>
<g:each in="${[1,2,3]}" var="num">
<p>Number ${num}</p>
</g:each>
Formularz
<g:form name="myForm" url="[controller:'book',action:'list']">...</g:form>
pole tekstowe
<g:textField name="myField" value="${myValue}" />
radio
<g:radio name="myGroup" value="1"/>
Kliknij ten link, aby uzyskać więcej informacji - http://docs.grails.org/latest/guide/theWebLayer.html#tags