В моей регистрационной форме у меня есть поле, которое дает пользователям возможность выбирать роли. Но я хочу только показать две роли: USER и MODERATOR. Но, я не знаю, как действовать. эта форма регистрации JSP:Настроить элементы в форме выберите
<div class="row">
<div class="form-group col-md-12">
<label style="color:#ffffff;" class="col-md-3 control-lable" for="userProfiles">Roles</label>
<div class="col-md-7">
<form:select path="userProfiles" items="${roles}" multiple="true" itemValue="id" itemLabel="type" class="form-control input-sm" />
<div class="has-error">
<form:errors path="userProfiles" class="help-inline"/>
</div>
</div>
</div>
</div>
У меня есть перечисление: UserProfileType
public enum UserProfileType implements Serializable{
USER("USER"),
DBA("DBA"),
ADMIN("ADMIN"),
MODERATOR("MODERATOR");
String userProfileType;
private UserProfileType(String userProfileType){
this.userProfileType = userProfileType;
}
public String getUserProfileType(){
return userProfileType;
}
}
А вот как это выглядит:
Этот мой контроллер, часть ответственным Регистрация
//new user
@RequestMapping(value = "/registrationForm", method = RequestMethod.GET)
public String newUser(User user, ModelMap model) {
//User user = new User();
model.addAttribute("user", user);
model.addAttribute("loggedinuser", getPrincipal());
return "registrationForm";
}
//save user
@RequestMapping(value = { "/registrationForm" }, method = RequestMethod.POST)
public String saveUser1(@Valid User user, BindingResult result,
ModelMap model) {
if (result.hasErrors()) {
return "registrationForm";
}
if(!userService.isUserSSOUnique(user.getId(), user.getSsoId())){
FieldError ssoError =new FieldError("user","ssoId",messageSource.getMessage("non.unique.ssoId", new String[]{user.getSsoId()}, Locale.getDefault()));
result.addError(ssoError);
return "registrationForm";
}
userService.saveUser(user);
model.addAttribute("success", "User " + user.getFirstName() + " "+ user.getLastName() + " registered successfully");
model.addAttribute("loggedinuser", getPrincipal());
//return "success";
return "registrationsuccess";
}
Я использую весну mvc/security и hibernate. Заранее благодарен
ваш контроллер Spring должен о.е. t эти элементы в модели, так что просто измените код в точке. Если вам нужна дополнительная помощь, отправьте код контроллера. –
Да, именно то, что я пытался сделать: внести некоторые изменения в контроллер, но я потерпел неудачу. Пожалуйста, проверьте сообщение снова, я его отредактировал – Najoua
Этот код бесполезен. Где-то в вашем коде вы заполняете коллекцию ролей. Это не так. –