Как использовать th: selected с th: field в multi-select - PullRequest
0 голосов
/ 18 февраля 2019

Мне известно, что th: selected нельзя использовать, когда у тега есть атрибут th: field.Я предполагаю, что это потому, что тэг th: field может обработать то, что было выбрано, увидев, содержит ли список, который относится к полю, этот элемент.

Проблема в том, что все, что происходит за кулисами, этоне работает правильно, поэтому я хотел бы переопределить его.

Это не работает в том смысле, что кажется, что он не может правильно определить, что должно отображаться как выбранное из спискаполиморфных объектов.В итоге выбирается один подкласс пользователя и показывается только, если он выбран (игнорируя другие подклассы)

Итак, что я хотел бы знать, так это либо способ выбора того, что выбрано сам (которым я являюсь)может сделать это) и передать это в поле th: или любую информацию о чем-либо, что я мог бы упустить при работе с полиморфными классами в тимелист.

Ниже приведен пример того, что у меня уже есть


                                                <select class="toMark" id="toMark" th:field="*{assessments[__${a.index}__].markerDtos[__${m.index}__].toMark}" multiple="multiple">
                                                    <option th:each="user : *{unit.cohort}" th:value="${{user}}" th:id="${{user}}" th:text="${user.userName}"></option>
                                                </select>

Класс пользователя


@Entity
@Table(name = "Users")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="perms", discriminatorType=DiscriminatorType.STRING)
public abstract class User implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -6187306015251367488L;

    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    private String userName;
    private String password;

    @ManyToMany(mappedBy = "members")
    private List<Group> groups = new ArrayList<>();

    @OneToMany(mappedBy = "accountable")
    private List<SoloTask> soloTasks = new ArrayList<>();

    @ManyToMany(mappedBy = "cohort")
    private List<Unit> units = new ArrayList<>();   

    //Getters and setters...

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        User other = (User) obj;
        return id != null && id.equals(other.getId());
    }

    public int hashCode() {
        return 13;
    }
}


Заранее спасибо,

Yepadee

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...