【发布时间】:2018-03-07 13:48:07
【问题描述】:
我想将我的数据库用户对象从控制器传递到 .gsp 页面,以便我可以在视图中使用它的属性。这是控制器代码:
def login(String username, String password){
def userList = getUserListFromDatabase();
User usr = new User(username: username, password: password);
println usr.username + ' ' + usr.password;
username = params?.username;
password = params?.password;
println userList.size();
for(User u : userList){
println 'username: ' + u.username + ' password: ' + u.password;
if(u.password.equals(password) && u.username==username){
User user = u;
flash.user = u;
render (view: 'login.gsp');
//debug
println 'user.username: ' + user.username;
return;
}
}
render 'login failed';
}
这就是我想在视图中显示它的方式:
</head>
<g:set var="now" value="${new Date()}"/>
<g:set var="user"/>
<body>
Login successful!<br/>
User: ${user?.username}<br/>
</body>
将对象及其所有属性传递给视图的正确方法是什么?我无法理解它。
【问题讨论】:
-
在渲染
render (view: 'login.gsp', model: [user: user])中将用户添加到模型中,不需要在视图中做<g:set var="user" /> -
你试过阅读最简单的 Grails 手册吗?