作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 scala 2.10 和 playframework 2.2.1
让我们假设以下路由:
GET /users/page/:page/limit/:limit controllers.Users.showUsers(page: Int, limit: Int)
我想添加带有 GET
方法和几个字段的搜索表单,并添加一些分页。例如,表单提交后 url 将如下所示:
http://example.com/users/page/1/limit/20?login=someLogin&email=
为了避免分页代码中的 url 硬编码,我在模板中使用了反向路由,例如 @routes.Users.showUsers(currentPage, limit)
。是否可以将 GET 参数也添加到生成的 url 而无需一些丑陋的代码,如 fold
through Form
inside template 等?
最佳答案
是的,有点。可选路由参数已在 Play 2.2 中删除,因此您必须为分页参数定义默认值。反向路由器将知道如何填写它们。
GET /users/page/:page/limit/:limit controllers.Users.showUsers(page: Int, limit: Int, login: String ?= "", email: String ?= "")
object Users extends Controller {
def showUsers(page: Int, limit: Int, login: String = "", email: String = "") {
// show those users..
}
}
@routes.Users.showUsers(3, 20, "someLogin")
将生成 URL:/users/page/3/limit/20?login=someLogin
不是特别漂亮,但比硬编码 URL 好。
关于scala - 在 Play Framework 中使用可选的 GET 参数反向路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20493361/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!