если оператор в шаблоне scala - PullRequest
0 голосов
/ 02 сентября 2018

Эй, ребята, я пытаюсь отправить значение для пользователя, если он вошел в систему, и я не выполняю оператор if в шаблоне scala на домашней странице

 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 затем покажите несколько ссылок для входа в систему

}else(user!=null){
<a class="dropdown-toggle" data-toggle="dropdown" id="signHover">@user.fname</a>

}

пожалуйста, если есть какие-либо рекомендации, направьте меня к процессу

ссылка: https://www.playframework.com/documentation/2.6.x/JavaTemplates

Ответы [ 3 ]

0 голосов
/ 02 сентября 2018

В шаблоне домашней страницы scala я пытаюсь что-то вроде этого

@(user: User)
@if(user.fname==null){ i even tried @if(user.isEmpty)
0 голосов
/ 03 сентября 2018

Если пользователь может быть пустым, используйте опцию [Пользователь] вместо пользователя. Внутри шаблона вы можете использовать сгиб для обработки Option.

В Scala это плохая практика, чтобы использовать нуль. Если переменная может иметь значение 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>
0 голосов
/ 02 сентября 2018

Предполагается, что пользователь равен нулю, если нет пользователя, если у вас нет

@(user: User)
@if(user!=null){ 
  // do stuff
} else {
  // do stuff for no user
}
...