【问题标题】:How to access implicit objects in my templates如何访问我的模板中的隐式对象
【发布时间】:2015-10-28 01:56:48
【问题描述】:

我想知道我的模板的当前网址是什么。我读过here,“请求”是所有模板中存在的一个隐式对象,它返回我的模板的url。

所以我试过这个:

控制器:

public class Application extends Controller {

    public static Result index() {
        return redirect("/home");
    }

    public static Result home() {
        return ok(homePage.render());
    }

    public static Result aboutUs() {
        return ok(aboutUs.render());
    }
}

HTML:

leftbar.scala.html 文件:

<aside id="left-panel">
  <nav>
     <ul class="animated fadeInLeft"> 
       <li class="@if(request.uri.contains("/aboutus")){active}">(some code here)</li>
     </ul>
 </nav>
</aside>

homePage.scala.html 文件:

@scripts = { (some scripts here) }
@views.html.main("Beta Project", scripts) {

    @views.html.leftbar()

    <div id="main" role="main">
        <div id="content">
            <span><i class="fa fa-bell"></i>SOMETHING</span>
        </div>
    </div>
}

在我导入 leftbar.scala.html 文件的地方出现此错误:

未找到:值请求

我应该怎么做才能解决这个错误?提前致谢

【问题讨论】:

  • 您链接了 Play 1.2.4 文档。那是你用的吗?还是您使用的是 Play 2.x?您应该包含更多代码,以便让某人有机会解决此问题。至少,您应该包含您尝试过的视图参数。
  • 我已经编辑了我的帖子。从现在开始,对于缺乏信息感到抱歉。我怎么知道我是在使用 Play 2.x 还是其他东西?对不起,我是一个初学者。

标签: servlets view playframework httprequest


【解决方案1】:

您的模板中的更多代码会很有用,但您可以通过添加来修复它

(implicit request: Request[AnyContent])

在模板第一行的末尾。

【讨论】:

  • 我只是放了这部分代码,因为它是一个带有
    • 的简单模板。如果您认为这更好,我可以放置所有代码。我已经尝试过你的建议,但是当我在另一个页面中“调用”这个模板时,这会问我一个 httpRequest。我应该在“AnyContent”中添加什么内容?
  • 如果您给出一个最小工作问题的完整示例,其他人会更容易理解您的问题。所以控制器的 sn-p,包括页面和实际模板,这样我们就可以看到你在做什么。
猜你喜欢
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
  • 2021-01-06
  • 1970-01-01
  • 2012-07-02
相关资源
最近更新 更多