Spring-mvc 3.0 crud с вопросом о флажках

Я делаю простой пользователь Crud.

мойApplicationUser имеет следующие свойства:

private Long id;
private String password;
private String username;
private Collection<Authority> myAuthorities;
private boolean isAccountNonExpired;
private boolean isAccountNonLocked;
private boolean isCredentialsNonExpired;
private boolean isEnabled;

Власть класса имеет:

private Long id;
private String authority;
private String name;

В моем JSP мой взгляд имеет следующую форму:

<form:form modelAttribute="applicationUser"
    action="add" method="post">
    <fieldset>

    <form:hidden path="id" />

    <legend><fmt:message key="user.form.legend" /></legend>
    <p><form:label for="username" path="username" cssErrorClass="error"><fmt:message key="user.form.username" /></form:label><br />
    <form:input path="username" /> <form:errors path="username" /></p>

    <p><form:label for="password" path="password"
        cssErrorClass="error"><fmt:message key="user.form.password" /></form:label><br />
    <form:password path="password" /> <form:errors path="password" /></p>

    <p><form:label for="password" path="password"
        cssErrorClass="error"><fmt:message key="user.form.password2" /></form:label><br />
    <form:password path="password" /> <form:errors path="password" /></p>

    <p><form:label for="myAuthorities" path="myAuthorities"
        cssErrorClass="error"><fmt:message key="user.form.autorities" /></form:label><br />
    <form:checkboxes items="${allAuthorities}" path="myAuthorities" itemLabel="name"/><form:errors path="myAuthorities" /></p>

    <p><input type="submit"/></p>
    </fieldset>
</form:form>

JSP получаетallAuthorities из этого:

@ModelAttribute("allAuthorities")
public List<Authority> populateAuthorities() {
  return authorityService.findAll();
}

Когда я заполняю форму, я получаю:

Не удалось преобразовать значение свойства типа java.lang.String в требуемый тип java.util.Collection для свойства myAuthorities; вложенным исключением является java.lang.IllegalStateException: невозможно преобразовать значение типа [java.lang.String] в требуемый тип [com.tda.model.applicationuser.Authority] для свойства myAuthorities [0]: не найдено подходящих редакторов или стратегии преобразования не найдено

Какой правильный способ решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос