2013-03-04 64 views
1

我的情况如下所示: 我在每一行都有帐户列表和编辑按钮。我有一个用于创建新帐户的表单模板。控制器:从不同的方法加载相同的模板

@RequestMapping(value = USERS + LECTURER + ADD, method = GET) 
    public String userAdd() { 
     return ADMINISTRATION + USERS + LECTURER + ADD; 
    } 

我想使用相同的模板来编辑用户,但我有方法,首先识别用户是否为前。 LECTURER或学生:

@RequestMapping(value = USERS + "/{userId}" + EDIT, method = GET) 
    public String editUser(@PathVariable(value = "userId") final long userId, 
      final ModelMap modelMap) 

然后我想所有用户数据(名字,姓等)加载到形式(USERS + LECTURER + ADD)。我怎样才能做到尊重后/重定向/获取模式?我计划去这样: (有人点击编辑按钮) - >去方法映射USERS/{userId} /编辑,它发现用户访问级别 - >(如果选择)去USERS/LECTURER/{idUser}/EDIT和加载所有数据以形成(模板在USERS/LECTURER/ADD) - >保存修改后的数据并重定向到USERS(用户列表)

回答

0

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

1

只要你的requestmapping方法返回一个字符串(或modelandview),你可以返回任何模板参考你喜欢的。 Spring会使用返回的字符串来解析模板。 查看关于requestmapping的spring文档。它在那里很好地解释。

相关问题