[英]play framework- how to send post request using java code in play framework
[英]Play Framework- How to return play.twirl.api.Html
我的應用程序的主菜單(view1)包含僅當用戶登錄(view2)時才必須顯示的選項。 在view1中,調用了一個控制器方法。 此方法檢查用戶,並以用戶為參數返回view2。
視圖1:
@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>
HomeController中的方法:
public Html showOptions(){
final User localUser = getLocalUser(session());
return view2.render(localUser);
}
視圖2:
@(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>
編譯器顯示此錯誤:
值showOptions不是控制器的成員。ReverseHomeController
我沒有很多游戲經驗,因此我不確定這是調用控制器方法的正確方法。 我也嘗試過
@routes.HomeController.showOptions()
但后來我明白了
無法使用將play.twirl.api.Html作為請求的處理程序返回的方法
感謝所有幫助。 謝謝 !
您需要將loggedUser
傳遞給第一個模板,以將其傳遞給第二個模板:
查看1:
@(user: User)
<div class="container-fluid">
<ul>
<li><a href="#">menu 1</a></li>
<li><a href="#">menu 2</a></li>
</ul>
</div>
<div id="logged">
@view2(user)
</div>
視圖2可以保持原樣。 View 1
的相應控制器如下所示:
public Result showView1() {
final User localUser = getLocalUser(session());
return ok(view1.render(localUser));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.