Playframework 播放而不是提取代码
我正在使用Play-2.0。我有下面的代码片段,其中我试图发布产品列表以及相应的链接。出于某种原因,我当前使用的代码路径输出的HTML格式为:@routes.Products.details(x.ean.toString())。在对此进行注释并取消注释注释路径后,我认为链接生成很好。有人能解释一下发生了什么事吗Playframework 播放而不是提取代码,playframework,playframework-2.0,Playframework,Playframework 2.0,我正在使用Play-2.0。我有下面的代码片段,其中我试图发布产品列表以及相应的链接。出于某种原因,我当前使用的代码路径输出的HTML格式为:@routes.Products.details(x.ean.toString())。在对此进行注释并取消注释注释路径后,我认为链接生成很好。有人能解释一下发生了什么事吗 @(list: List[Product])(implicit lang: Lang) @main( Messages( "application.name" ) ){ <ul
@(list: List[Product])(implicit lang: Lang)
@main( Messages( "application.name" ) ){
<ul>
@*
@for(product <- list){
<li>
<a href="@routes.Products.details(product.ean.toString())">
@product.name
</a>
</li>
}
*@
@list.map( x =>
<li>
<a href="@routes.Products.details(x.ean.toString())">
{x.name}
</a>
</li>
)
</ul>
}
@(列表:列表[产品])(隐式lang:lang)
@main(消息(“application.name”)){
@*
@用于(产品)
-
)
}
编辑:修复了部分不起作用的href。您的
产品控制器是否在子目录中?如果是,则必须在routes:@productDir.routes.Products.detail(product.ean)
之前添加子目录的名称。请记住,如果文件夹也名为product,则必须重命名变量product
。很抱歉,问题出得不对,两个href在视图中完全相同。让我纠正一下。@Blita:我现在已经纠正了href。产品控制器在控制器目录中。所以你的地图部分不起作用,对吗?糟糕的是,我以前从未在模板中使用过地图,所以我在这里帮不了你。但是为什么在{x.name}
中使用{}?这是用来访问变量的吗?您是否尝试过{routes.Products.details(x.ean.toString())}
?@blia:谢谢您的回复。我使用{}是因为x.name和@(x.name)不起作用。我也尝试了{routes.p.d.(x.e.t()),但也不起作用。因此在innerHTML中,只有{}起作用,而在href链接中,没有任何作用。