空指针异常和空对象
|
我有以下几行代码:
def edit = {
if (session.user.id != params.id){
flash.message = \"You can only edit yourself.\"
redirect(action:list)
return
}
def user = User.get(params.id)
if (!user){
flash.message = \"Login first before you edit anyone.\"
redirect(action:list)
}
else{
return [user:user]
}
}
我对groovy和grails还是比较陌生,所以请对我轻松一点。
无论如何,以上代码仅在用户登录到站点时才有效。
当用户未登录时尝试编辑内容时,“ 1”会引发异常。这又向我显示以下内容:
java.lang.NullPointerException: Cannot get property \'id\' on null object
at com.hyun.UserController$_closure4.doCall(UserController.groovy:25)
at com.hyun.UserController$_closure4.doCall(UserController.groovy)
at java.lang.Thread.run(Thread.java:662)
问题是我该如何正确处理?我相信答案在于以下几方面:
if (!user){
flash.message = \"Login first before you edit anyone.\"
redirect(action:list)
}
但是我真的不知道如何解决这个问题。请帮我!
Flash.message无法正常工作。
没有找到相关结果
已邀请:
2 个回复
剃摧庭峨僳
有关安全导航操作符(?。)的更多详细信息。
戊袱
(在您的第一个
子句中)。如果用户未登录,则
可能会返回
,这使对
的调用引发您所看到的异常。