Вопрос

Я хочу установить элементы из списка в селектонумену в ледяных сна. Но когда я делаю то же самое, я получаю следующую ошибку: java.lang.classcastexception: нельзя бросить javax.faces.model.selectiTem.

Это класс сущности.

Пожалуйста помоги.

Это было полезно?

Решение

Обычный способ создания и заполнения selectOneMenu Предметы будут следующие:

private String selectedItem; // +getter +setter
private List<SelectItem> selectItems; // +getter

public Bean() {
    selectItems = new ArrayList<SelectItem>();
    for (Entity entity : getYourEntities()) {
        selectItems.add(new SelectItem(entity.getValue(), entity.getLabel()));
    }
}

Со следующим видом (вы можете легко подходить вам <h: с участием <ice:):

<h:selectOneMenu value="#{bean.selectedItem}">
    <f:selectItems value="#{bean.selectItems}" />
</h:selectOneMenu>

Вместо а String значение, вы также можете использовать любой Number (Integer, Long, и т. Д.) Поскольку JSF встроил конвертеры для этого. Но если вы хотите использовать целые объекты в качестве значения элемента, вам нужно создать Converter. Отказ Это подробно описано в эта статья.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top