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)
}
}
工作流程:
- 我正在打开
http://localhost:8080/foo/browse/list
并查看一些用户。
- 正在从一种性别更改为另一种性别。
- 然后我被重定向到
http://localhost:8080/foo/browse/list?gender=2&format=
问题:
如何删除 URL 参数,即 gender
和 format
。我正在使用分页插件。 而且我在 URL 中没有看到分页参数,所以 。我确定我做错了什么。那会是什么?
谢谢!
更新#1
分页参数显示在URL.
您专门将参数放入重定向中的目标 URL。只需从这里删除它:
redirect(
controller: "browse",
action: "list")
我正在尝试使用下面的表单在男性和女性之间切换搜索偏好,从而在用户列表中设置性别过滤器。
过滤形式:
<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)
}
}
工作流程:
- 我正在打开
http://localhost:8080/foo/browse/list
并查看一些用户。 - 正在从一种性别更改为另一种性别。
- 然后我被重定向到
http://localhost:8080/foo/browse/list?gender=2&format=
问题:
如何删除 URL 参数,即 gender
和 format
。我正在使用分页插件。 而且我在 URL 中没有看到分页参数,所以 。我确定我做错了什么。那会是什么?
谢谢!
更新#1 分页参数显示在URL.
您专门将参数放入重定向中的目标 URL。只需从这里删除它:
redirect(
controller: "browse",
action: "list")