Play Framework将POST请求数据发送到GET

时间:2013-06-27 14:10:08

标签: scala playframework httprequest playframework-2.1

如何使用Scala Play将请求数据从POST请求发送到GET请求?(使用Play Framework 2.1.1)

我的目标是让单个页面“Reports”如下:报告是GET请求,因此如果需要,您可以为此报告添加书签。该报告由一个模型表组成,每个模型行的末尾都有一个删除按钮。我想点击删除按钮,让它将id发布到我的控制器,然后重新加载页面,报告过滤器参数仍然打开。

目前我有删除按钮只是添加到get,它正常工作但remove = id参数保留在请求/地址栏中。因此,每次重新加载页面时,它都会尝试删除此模型。我想要做的是使用此表单POST然后删除模型,然后将除remove之外的所有请求参数发送到GET请求。

我宁愿在没有javascript / AJAX的情况下这样做。

1 个答案:

答案 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)
    }