0

在我的 Play 2.0.4 项目中,我有一个视图模板,它的参数中有两个值,一个列表和一个 long。

@(listOfBooks: List[Book], oID: Long)

我知道正在传递正确的值,因为我将它们打印在循环内的模板主体中,并且它们按我的预期显示。

@for(book <- listOfBooks) {

    <li>
        <b>Original ID: </b>@oID<br>
        <b>New ID: </b>@book.id<br>

    </li>

我正在尝试使用值 oID 和 book.id 从此视图调用控制器方法。

我定义了一个控制器方法来处理此问题,并在按下此按钮时调用它。

<a href routes.Application.addAssociate(oID, book.id)"> Button </a>

我在路由器文件中尝试了很多东西,但我无法让它工作。这是当前定义的应用程序路由:

GET     /addAssociate/:oID/:id                   controllers.Application.addAssociate(oID: Long, id: Long)

当按下上述按钮时,我的浏览器中的 URL 变为:

http://localhost:9000/routes.Application.addAssociate(oID,%20book.id)

我收到错误消息:

未找到针对请求“GET /routes.Application.addAssociate(oID,%20book.id)”的操作

我认为问题在于我如何在路由器文件中定义连接我不确定如何传递多个 Long 值。

4

1 回答 1

0

@的视图模板中缺少一个魔术字符,表明您的 URL 是动态的:

<a href="@routes.Application.addAssociate(oID, book.id)"> Button </a>
于 2013-05-05T22:25:09.497 回答