これは以前に尋ねられましたが、提供されたソリューションが私の目的のために機能しないようです。スプリングフォーム:選択した値を選択してください
私は現在Webアプリケーションを開発していますが、私は現在ユーザープロファイルページを作成しています。私がしているのは、ユーザーがプロフィールにアクセスすると、プロフィールを管理できるということです。
私は、RolesObjectのリストとコントローラから渡されたGroupsObjectのリストを読み込む春のフォーム:選択ボックスを持っています。オブジェクトはIDフィールドと名前フィールドで構成されます。私が望むのは、フォームが選択されたときです。選択すると、現在のロールIDとユーザーのグループIDがリストから選択されます。
コントローラ
public ModelAndView viewProfile(parameters) {
ModelAndView mav = new ModelAndView();
mav.setViewName("viewProfile");
...
List<RolesObject> roles = rolesService.getRolesList();
List<GroupsObject> groups = groupsService.getGroupsList();
Map<String, List> map = new HashMap<String, List>();
map.put("roles", roles);
map.put("groups", groups);
mav.addObject("map", map);
return mav;
ビュー
<form:select path="role_id" id="role_id" cssClass="form-control" cssStyle="width: 100%;" value="${current.getRole_id()}" required="required">
<c:forEach var="role" items="${map.roles}">
<form:option value="${role.getId()}" label="${role.getName()}" />
</c:forEach>
</form:select>
<form:select path="group_id" id="group_id" cssClass="form-control" cssStyle="width: 100%;" value="${current.getGroup_id()}" required="required">
<c:forEach var="group" items="${map.groups}">
<form:option value="${group.getId()}" label="${group.getName()}" />
</c:forEach>
</form:select>
私の問題は、リストを移入であるが、それはデフォルト値を選択していません。
のが私の役割値は = 1、ラベル= ROLE_1 値= 2、ラベル= role_2
値を選択し、フォームのロード、ユーザの現在の役割は、2のIDを持っているrole_2であるとしましょうrole_2を自動的にロードするのではなく、依然として選択した値としてrole_1を表示します。
私は試してみましたが、私の場合はうまくいきませんでした。 – ReiSchneider