필자는 "Grails에 대한 확실한 안내서"(Rocher/Brown)와 제 4 장에서 "레이아웃"이라고하는이 신비한 일이 설명없이 나타났습니다. (그리고 인덱스에 "레이아웃"이 없습니다. 내가 아는 한 절대 설명하지 않습니다.)Grails는 렌더링하는 페이지에 "레이아웃"을 적용하는 방법을 알고 있습니까?
시스템은 layout/main.gsp에서 페이지를 "상속받는"것을 어떻게 알고 있습니까? 인덱스에 "레이아웃"에 관한 것은 없으며 방금 등장한 것으로 보입니다. 자신의 샘플 응용 프로그램에
, 간단한 상점 사이트의/홈페이지의 URL 매핑
"/"(controller:"store")
저장 컨트롤러의 빈 "인덱스"폐쇄
package com.g2one.gtunes
class StoreController {
def index = {
}
}
단순히 가게를 렌더링 알려줍니다 말 /index.gsp
store/index.gsp에는 몇 줄의 HTML 만 있습니다. 나는 페이지가 "/"는 바로이 간단한 HTML되지 않습니다에 대해 표시된 샘플을 실행하면 어떤 레이아웃이 어떤 지시어
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="layout" content="main">
<title>gTunes Store</title>
<g:javascript library="prototype"></g:javascript>
</head>
<body id="body">
<h1>Your online music store and storage service!</h1>
<p>Manage your own library, browse music and purchase new tracks as they become available</p>
</body>
</html>
에 포함되지 도착, 그것은 마술 삽입이 정보를 "레이아웃/main.gsp"의 내용을이다 그 안에.
layout/main.gsp의 정보가 페이지에 어떻게 적용되는지, 요소가 어떻게 혼합되는지 알 수 없습니다. 나는 페이지별로 책을 읽었으며이 기능은 아무런 설명없이 "등장했다".
이<meta name="layout" content="main">
main.gsp가의 index.gsp의 <head>
및 <body>
내용은 마지막 페이지를 만들 레이아웃에 접어 <g:layoutHead>
및 <g:layoutBody>
포함 :
감사합니다! 나는 얼굴을 똑바로 쳐다보고 있었다. 나는 다른 모든 grails 지시문이