如何使用Scala Play将请求数据从POST请求发送到GET请求?(使用Play Framework 2.1.1)
我的目标是让单个页面“Reports”如下:报告是GET请求,因此如果需要,您可以为此报告添加书签。该报告由一个模型表组成,每个模型行的末尾都有一个删除按钮。我想点击删除按钮,让它将id发布到我的控制器,然后重新加载页面,报告过滤器参数仍然打开。
目前我有删除按钮只是添加到get,它正常工作但remove = id参数保留在请求/地址栏中。因此,每次重新加载页面时,它都会尝试删除此模型。我想要做的是使用此表单POST然后删除模型,然后将除remove之外的所有请求参数发送到GET请求。
我宁愿在没有javascript / AJAX的情况下这样做。
答案 0 :(得分:0)
您可以使用queryString和请求对象中的路径重建URL。然后重定向回来(没有删除参数) How to get query string parameters in java play framework?
或者,如果要在路径文件中设置呼叫设置以进行解析,请使用反向路由减去delete参数。 Play Framework - Redirect with params http://www.mariussoutier.com/blog/2012/12/10/playframework-routes-part-1-basics/
def index() = Action { request =>
import play.api.Play.current
println(request.queryString)
val allWithoutDel = request.queryString - "del" //del is the query parameter
println(allWithoutDel)
val url = request.path + // fold or map the allWithoutDel down to a URL string again
redirect(url)
}