java - Pre select options from list dynamically -
i'm teaching myself coding , building little web application practice users can have roles. it's based on spring mvc. users can edited. want when user profile comes list user's roles, roles has selected , available roles unselected.
i'm using jquery multiselect.js plugin nice separated of selected , unselected items.
i'm adding 2 attributes requestmethod in controller:
allroles , userroles
i thought using jstl tags work generade select list:
<c:foreach items="${allroles}" var="role"> <c:foreach items="${userroles}" var="userrole"> <form:option value="${role.id}" selected="${role.name == userrole.name ? 'selected' : ''}">${role.name}</form:option> </c:foreach></c:foreach> well, works fine if user has 1 current role. 1 time has 2 or more options appear doubled or tripled [...] in list, breaks select. makes sense since it's 2 nested foreach loops, want go through allroles , check roles equal roles on userroles , mark them selected if so.
i'm kinda stuck @ moment here, can please tell me if it's possible jstl and/or right or improve way?
thanks.
assuming have overridden equals method role class , using el 2.2+, can simplify markup to:
<c:foreach items="${ allroles }" var="role"> <form:option value="${ role.id }" selected="${ userroles.contains(role) ? 'selected' : ''}"> ${role.name} </form:option> </c:foreach> this should solve duplication problem.
java spring-mvc jquery-plugins jstl
No comments:
Post a Comment