Scala 模板播放框架中的 if 语句
if statement in scala template play framework
嘿伙计们我正在尝试为用户发送一个值,如果他已经登录,而不是我在主页 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
如果没有用户,假设 User 为 null,你不应该
@(user: User)
@if(user!=null){
// do stuff
} else {
// do stuff for no user
}
在 scala 主页模板中我正在尝试这样的事情
@(user: User)
@if(user.fname==null){ i even tried @if(user.isEmpty)
如果用户可以为空,请使用 Option[User] 而不是 User。在模板中,您可以使用折叠来处理选项。
在 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>
嘿伙计们我正在尝试为用户发送一个值,如果他已经登录,而不是我在主页 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
如果没有用户,假设 User 为 null,你不应该
@(user: User)
@if(user!=null){
// do stuff
} else {
// do stuff for no user
}
在 scala 主页模板中我正在尝试这样的事情
@(user: User)
@if(user.fname==null){ i even tried @if(user.isEmpty)
如果用户可以为空,请使用 Option[User] 而不是 User。在模板中,您可以使用折叠来处理选项。
在 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>