内容摘要:Spring Web Flow是Spring家族中的一位成员,他能简化Web应用的开发。在Grails0.6中就集成了Spring Web Flow这一Web应用开发利器。下面通过一个实例向大家展示一下在Grails中如何方便的使用Spring Web Flow。
6,将grails-appcontrollersUserController.groovy修改为如下内容class UserController {
def index = { redirect(action:list,params:params) }
// the delete, save and update actions only accept POST requests
def allowedMethods =
[delete: ' POST ' , save: ' POST ' , update: ' POST ' ]
def list = {
if ( ! params.max)params.max = 10
[ userList: User.list( params ) ]
}
def show = {
[ user : User.get( params.id ) ]
}
def delete = {
def user = User.get( params.id )
if (user) {
user.delete()
flash.message = " User ${params.id} deleted. "
redirect(action:list)
}
else {
flash.message =
" User not found with id ${params.id} "
redirect(action:list)
}
}
def edit = {
def user = User.get( params.id )
if ( ! user) {
flash.message =
" User not found with id ${params.id} "
redirect(action:list)
}
else {
return [ user : user ]
}
}
def update = {
def user = User.get( params.id )
if (user) {
user.properties = params
if (user.save()) {
flash.message =
" User ${params.id} updated. "
redirect(action:show,id:user.id)
}
else {
render(view: ' edit ' ,model:[user:user])
}
}
else {
flash.message =
" User not found with id ${params.id} "
redirect(action:edit,id:params.id)
}
}
def create = {
def user = new User()
user.properties = params
return [ ' user ' :user]
}
def save = {
def user = new User()
user.properties = params
if (user.save()) {
flash.message =
" User ${user.id} created. "
redirect(action:show,id:user.id)
}
else {
render(view: ' create ' ,model:[user:user])
}
}
def loginSystemFlow = {
login {
on( " login " ) {
if ( " daniel "
!= params.username || " 123 "
!= params.password) {
flash.message =
" username or password is invalid "
def user = new User()
user.properties = params
flash.user = user
return error ()
} else {
// 仅仅用来演示如何使用flow scope
flow.message =
"Welcome, ${params.username}"
}
}.to "ok"
on("register").to "showRegisterView"
}
ok()
showRegisterView()
}
}
作者:山风小子 责编:豆豆技术应用