<form name='form' th:object="${role}" method='GET'>
<table>
<tr>
<td>Rol sec</td>
<td>
<select class="form-control"
th:field="${roleList}" >
<option value="0">
Rol seciniz
</option>
<option th:each="role : ${roleList}"
th:value="${role.id}"
th:text="${role.name}">
</option>
</select>
</td>
</tr>
<tr>
<td><input name="submit" type="submit" value="Sec" /></td>
</tr>
</table>
</form>
我有一个这样的页面。它可以从endpoind获得所有角色:
@GetMapping(value = {"/assign-roles"})
...
modelView.addObject("roleList", roleService.findAll());
return modelView;
}
当用户选择一个角色并单击“提交”(没有提交按钮,我无法做)时,它应该带给该角色的菜单。我需要这样的东西:
th:action="${'/menu/id'}"
单击提交按钮时。它将进入另一个终点:
@GetMapping("/{id}")
public ModelAndView getMenusForRole(@PathVariable String id) {
//same modelview
modelView.addObject("menuList", menuService.findAllMenusForRole(id));
return modelView;
}
因此,在该选择选项旁边,应显示静态列表。没有ajax,我找不到办法。
单击按钮时,我将返回相同的模型视图,但是这次选择了select-option,并在其旁边看到菜单。
接下来,用户可以在显示菜单后删除添加到该菜单的列表。
所以3个步骤:
1-获取视图,
assign-roles
,并在选项选择时显示所有角色 2-单击一个角色时,转到后端,获取该角色的所有菜单 角色,而不是紧随角色 作为复选框。 3-当复选框为 选择并点击add
或remove
,更新列表。
我应该使用ajax吗?而不是返回所有模型视图?
我可以使用相同的endpoind并在后端将其放入相同的modelview中。比可以在前端检查是否存在。如果存在,我可以显示菜单。单击添加按钮后,我将更新并再次返回吗?