Grails - 重定向后隐藏 URL 参数

Grails - hide URL paramters after redirect

我正在尝试使用下面的表单在男性和女性之间切换搜索偏好,从而在用户列表中设置性别过滤器。

过滤形式:

<div class="datePreferencesContainer">
<g:form controller="browse" action="updateDatingPreferences" method="post"> 
<b>Which Gender:</b>        
<p>
<input type="radio" ${datingPreferences.whichGender==gender.MALE.code() ? "checked" : ""} name="gender" value="${gender.MALE.code()}">Male
</p>
<p>
<input type="radio" ${datingPreferences.whichGender==gender.FEMALE.code() ? "checked" : ""} name="gender" value="${gender.FEMALE.code()}">Female
</p>
<p><input type="submit" value="Update"></p>
</g:form>
</div>

(最小)浏览控制器:

class BrowseController {

  def list() {
    DatingPreferences datingPreferences = springSecurityService.getCurrentUser().datePreferences
    render(
      view: "index",
      model: [
        users: User.list(params),
        userCount: totalCount,
        datingPreferences: datingPreferences,
        gender: Gender
        ]
      )

  }

  def updateDatingPreferences() {   
    try {
      browseService.updateDatingPreferences(params)  
    } catch (ValidationException exception) {
     log.fatal("Exception occured while updating Dating Preferences: " + exception)
    }
    redirect(
      controller: "browse",
      action: "list",
      params: params)

  }

}

工作流程:

  1. 我正在打开 http://localhost:8080/foo/browse/list 并查看一些用户。
  2. 正在从一种性别更改为另一种性别。
  3. 然后我被重定向到 http://localhost:8080/foo/browse/list?gender=2&format=

问题:

如何删除 URL 参数,即 genderformat。我正在使用分页插件。 而且我在 URL 中没有看到分页参数,所以 。我确定我做错了什么。那会是什么?

谢谢!

更新#1 分页参数显示在URL.

您专门将参数放入重定向中的目标 URL。只需从这里删除它:

redirect(
  controller: "browse",
  action: "list")