我的案例如下: 我的网站包含帐户列表和每行的编辑按钮。我有一个模板,用于创建新帐户。控制器:
@RequestMapping(value = USERS + LECTURER + ADD, method = GET)
public String userAdd() {
return ADMINISTRATION + USERS + LECTURER + ADD;
}
我想使用相同的模板来编辑用户,但我有方法首先识别用户是否为ex。讲师或学生:
@RequestMapping(value = USERS + "/{userId}" + EDIT, method = GET)
public String editUser(@PathVariable(value = "userId") final long userId,
final ModelMap modelMap)
然后我想将所有用户数据(姓名,姓氏等)加载到表单中(USERS + LECTURER + ADD)。我怎样才能尊重Post / Redirect / Get模式?我打算这样做: (有人点击了编辑按钮) - >转到找到用户访问级别的方法映射USERS / {userId} / EDIT - > (如果LECTURER)转到USERS / LECTURER / {idUser} / EDIT并加载所有数据以形成(模板在USERS / LECTURER / ADD中) - >保存修改后的数据并重定向到USERS(用户列表)
答案 0 :(得分:1)
只要您的requestmapping方法返回一个字符串(或modelandview),您就可以返回您喜欢的任何模板引用。 spring将使用返回的字符串来解析模板。 看一下有关请求映射的spring文档。它在那里得到了很好的解释。
答案 1 :(得分:0)
好吧,虽然我不能有2个方法使用相同的RequestMapping,但是当这些方法使用不同的HTTP方法(POST或GET)时,它是可能的。它解决了我的问题,因为我使用GET在控制器方法中加载了表单并使用POST(+ redirect)保存了更改。感谢回复,马丁。