![](/img/trans.png)
[英]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.