私のアプリケーション(view1)のメインメニューには、ユーザーがログオンしたときに表示する必要があるオプション(view2)が含まれています。 view1では、コントローラメソッドが呼び出されます。このメソッドは、ユーザーをチェックし、userをパラメーターとしてview2を返します。Play Framework- playtwirl.api.Htmlを返す方法
View1を:にHomeControllerに
@import com.feth.play.module.pa.views.html._
<div class="container-fluid">
<ul>
<li><a href="#">menu 1</a></li>
<li><a href="#">menu 2</a></li>
</ul>
</div>
<div id="logged">
@controllers.HomeController.showOptions()
</div>
方法:
public Html showOptions(){
final User localUser = getLocalUser(session());
return view2.render(localUser);
}
VIEW2:
@(logged: User = null)
@if(logged!=null) {
<div id="userMenu">
<ul class='nav'>
<li><a href="#">user option 1</a></li>
<li><a href="#">user option 2</a></li>
</ul>
</div>
コンパイラはこのエラーを示す:
value showOptions is not a member of controllers.ReverseHomeController
私はプレイの経験があまりないので、コントローラメソッドを呼び出す正しい方法であるとは確信していません。私は
@routes.HomeController.showOptions()
でも試してみました。しかし、その後、私はすべてのヘルプは高く評価され
Cannot use a method returning play.twirl.api.Html as a Handler for requests
を取得します。ありがとう!
を私はあなたが使用する必要がありますね含む、ここに代わり再びコントローラを呼び出す:https://www.playframework.com/documentation/2.6.x/ScalaTemplateUseCases#Includes – rethab