Play Framework:如何在html模板文件中获取查询字符串值

时间:2014-03-06 07:24:16

标签: java html scala playframework-2.0

我正在使用Play Framework 2.0 for Java,我有一个像http://localhost:9000/project/detail?id=1这样的查询字符串网址,当这个网址命中时它会调用HTML模板文件,例如。detail.scala.html。所以我想检查我的HTML文件中的url中是否存在查询字符串。

例如:

@if(existsQueryString) 
         @showPerticularProductDetail
else
         @showAllProductList

请帮助我或给出任何建议。我不想从控制器传递一些变量或任何标志来查看条件。我只是想检查我的HTML里面的url中的查询字符串。

1 个答案:

答案 0 :(得分:4)

如果您在Java项目中,可以直接访问请求;如果您在Scala项目中,则可以通过隐式参数访问请求。

在Java项目中,您可以直接使用它来检查queryString:

@if(request.queryString.containsKey("myKey")){
     @showPerticularProductDetail
else
     @showAllProductList

如果您在Scala项目中,则需要将请求添加为视图的隐式参数:

@(title: String)(implicit request: play.api.mvc.Request)

你的控制器也应声明这个隐含参数:

def detail = Action { implicit request =>
    ...
    myTemplate.render()
}