1

我的案例如下所示:我有一个带有帐户列表的站点,并且每一行都有一个编辑按钮。我有一个模板,用于创建新帐户。控制器:

@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)中。关于发布/重定向/获取模式,我该怎么做?我计划这样做:(有人单击编辑按钮)-> 转到方法映射的 USERS/{userId}/EDIT 找到用户访问级别->(如果 LECTURER)转到 USERS/LECTURER/{idUser}/EDIT 并加载所有要形成的数据(模板在 USERS/LECTURER/ADD 中)-> 保存修改后的数据并重定向到 USERS(用户列表)

4

2 回答 2

1

只要您的请求映射方法返回一个字符串(或模型视图),您就可以返回您喜欢的任何模板引用。spring 将使用返回的字符串来解析模板。查看有关 requestmapping 的 spring 文档。它在那里解释得很好。

于 2013-03-04T09:37:51.807 回答
0

好吧,虽然我不能有两个具有相同 RequestMapping 的方法,但是当这些方法使用不同的 HTTP 方法(POST 或 GET)时,这是可能的。它解决了我的问题,因为我使用 GET 在控制器方法中加载了表单,并使用 POST(+ 重定向)保存了更改。谢谢你的回复,马丁。

于 2013-03-04T10:03:38.077 回答