【发布时间】:2016-07-22 04:24:10
【问题描述】:
我正在使用带有 JSP 的 Spring MVC。
我有一个包含组实体列表的用户实体。这种关系是多对多的(组实体包含用户实体的列表)。
在我的用户控制器中,我有一个方法可以返回带有空用户实体和可用组实体列表的添加用户页面。
@RequestMapping(value = "/add", method = RequestMethod.GET)
public ModelAndView loadUserAdd() {
ModelAndView mv = new ModelAndView("user/userAdd");
mv.addObject("user", new User());
try {
mv.addObject("groups", gr.listGroups());
} catch (TestException e) {
mv.addObject("error", e.getMessage());
e.printStackTrace();
}
return mv;
}
在 userAdd 页面上,我想从可用组列表中选择用户将拥有的组。
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
<select id="availableGroups" class="form-control" multiple onclick="shuttle('availableGroups', 'selectedGroups')">
<c:forEach items="${groups}" var="group">
<option value="${group.id}">${group.id}: ${group.name}</option>
</c:forEach>
</select>
</div>
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
<select id="selectedGroups" class="form-control" multiple onclick="shuttle('selectedGroups', 'availableGroups')">
<c:forEach var="group" items="${user.groups}" varStatus="status">
<option value="${group.id}">${group.id}: ${group.name}</option>
</c:forEach>
</select>
</div>
</div>
注意,'shuttle' 函数将组从一个选择元素移动到另一个选择元素。例如。从可用组到选定组,反之亦然。这行得通。
提交时,我希望在用户实体中设置选定的组,以便它到达 addUser 方法。
@RequestMapping(value = "/add", method = RequestMethod.POST)
public ModelAndView addUser(@ModelAttribute("user") User user) {
在提交时,用户实体包含一个空组列表。我确定我的 JSP 是错误的,所以如果有人能指出我正确的方向,那就太好了。任何有关改进的建议都会很好,因为我将其作为学习练习。谢谢。
【问题讨论】:
-
嗯,还没有对我的问题的反馈 - 这是通常的方法吗?有人想提供替代方案吗?
标签: java spring jsp spring-mvc