嘿,如果用户登录,他们正在尝试为用户发送值,而不是我在主页scala模板中执行if语句
User loggeduser = User.find.query().where().eq("token",
session("connected")).findOne();
return ok(main.render(loggeduser));
在scala主页模板中正在尝试类似的操作
@(user: User)
@if(user.fname==null){ i even tried @if(user.isEmpty)
并尝试将fname保持在NULL POINTER EXEPTION的相同错误之外 然后显示一些登录表单链接
}else(user!=null){
<a class="dropdown-toggle" data-toggle="dropdown" id="signHover">@user.fname</a>
}
如果有任何建议可以指导我抛出该过程
参考:https://www.playframework.com/documentation/2.6.x/JavaTemplates
答案 0 :(得分:1)
如果没有用户,假设用户不存在,假设User为空
@(user: User)
@if(user!=null){
// do stuff
} else {
// do stuff for no user
}
答案 1 :(得分:0)
在scala主页模板中,我正在尝试类似的操作
@(user: User)
@if(user.fname==null){ i even tried @if(user.isEmpty)
答案 2 :(得分:0)
如果user可以为null,请使用Option [User]代替User。在模板内部,您可以使用fold来处理Option。
在Scala中,不建议使用null。如果变量可以为null,请改用Option,让它知道变量可以为null,表示所有变量。
@(userOpt:Option[User])
<div>SOME HTML</div>
@userOpt.fold {
<div>USER ISN'T LOGGED</div>
} { user =>
<div>USER IS LOGGED! @user</div>
}
<div>SOME HTML</div>