从Grails中的布局视图访问模型,可以通过以下几个步骤实现:
grails-app/domain
目录下创建一个模型类,例如Person.groovy
。package com.example
class Person {
String name
String email
static constraints = {
name nullable: false, blank: false
email nullable: false, blank: false, email: true
}
}
grails-app/controllers
目录下创建一个控制器类,例如PersonController.groovy
。package com.example
class PersonController {
def index() {
List<Person> persons = Person.list()
[persons: persons]
}
}
grails-app/views
目录下创建一个布局视图,例如layouts/main.gsp
。<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main"/>
<title>Grails Layout View</title>
</head>
<body>
<h1>Persons</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<g:each var="person" in="${persons}">
<tr>
<td>${person.name}</td>
<td>${person.email}</td>
</tr>
</g:each>
</tbody>
</table>
</body>
</html>
grails-app/views/person
目录下创建一个视图,例如index.gsp
。<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main"/>
<title>Grails Layout View</title>
</head>
<body>
<h1>Persons</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<g:each var="person" in="${persons}">
<tr>
<td>${person.name}</td>
<td>${person.email}</td>
</tr>
</g:each>
</tbody>
</table>
</body>
</html>
http://localhost:8080/person
,即可看到从布局视图中访问模型的效果。在这个例子中,我们创建了一个Person
模型,并在PersonController
中通过Person.list()
方法获取所有的Person
对象,并将其传递到视图中。在视图中,我们使用<g:each>
标签遍历所有的Person
对象,并将其显示在表格中。在布局视图中,我们使用${persons}
变量来访问模型数据,并将其显示在表格中。
领取专属 10元无门槛券
手把手带您无忧上云