Grails - 重定向后隐藏URL参数

时间:2015-03-10 19:30:45

标签: url grails

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

过滤表格

<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=
  4. 问题:

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

    谢谢!

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

1 个答案:

答案 0 :(得分:1)

您在重定向中专门将params放入目标网址。只需从此处删除它:

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