Отображение значений в детализированном SelectOneMenus (Parent-Child)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Отображение значений в детализированном SelectOneMenus (Parent-Child)

Сообщение Anonymous »

У меня возникла неприятная проблема, когда я заполняю детализированный выбор из двух selectOneMenu. Первое меню — это Сектор, которое управляет вторым Категорией. Я загружаю выделение для Категории в зависимости от Сектора, и все это работает нормально.

Но когда я редактирую бизнес-объект, к которому прикреплена Категория (есть один) Сектор к этому. Категория не отображается при первой загрузке страницы edit.xhtml. Я знаю, что значение правильное в вспомогательном компоненте SessionScoped. Если я выберу другую категорию сектора, а затем вернусь к исходному сектору, категория будет правильно установлена, и она сохранится в первую очередь.

Классы POJO (сектор -Category) имеет функции hashCode() и Equals(Object object).

У меня есть сгенерированные CRUD конвертеры JSF для объекта POJO, но я не думайте, что это вызывает проблему. Я думаю, что второй selectOneMenu по какой-то причине не отображает свое значение должным образом. Если я переверну родительский элемент (сектор) на что-то другое и обратно в исходное состояние, отобразится правильное значение из управляемого компонента.

Как я могу создать категорию Компонент selectOneMenu отображает значение в управляемом компоненте?

Привет, Крис!

Сообщение об ошибке Faces< /p>

FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=null[severity=(ERROR 2), summary=(No activity selected), detail=(No activity selected)]


Edit.xhtml

...










...


Компонент-контроллер для категории

@ManagedBean(name = "categoryController")
@SessionScoped
public class CategoryController implements Serializable{

....

@FacesConverter(forClass = Category.class)
public static class CategoryControllerConverter implements Converter {

@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
CategoryController controller = (CategoryController) facesContext.getApplication().getELResolver().
getValue(facesContext.getELContext(), null, "categoryController");
return controller.ejbFacade.find(getKey(value));
}

java.lang.Integer getKey(String value) {
java.lang.Integer key;
key = Integer.valueOf(value);
return key;
}

String getStringKey(java.lang.Integer value) {
StringBuffer sb = new StringBuffer();
sb.append(value);
return sb.toString();
}

@Override
public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
if (object == null) {
return null;
}
if (object instanceof Category) {
Category o = (Category) object;
return getStringKey(o.getIdCategory());
}
else {
throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + CategoryController.class.getName());
}
}
}


Часть объекта POJO

...
public class Category implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idCategory")
private Integer idCategory;
...


Подробнее здесь: https://stackoverflow.com/questions/771 ... rent-child
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему window.top.parent не является нулевым и почему window.top.parent - это window.top?
    Anonymous » » в форуме Javascript
    0 Ответы
    59 Просмотры
    Последнее сообщение Anonymous
  • JComponent Child не рисует после переопределения функции Parent PaintComponent
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • JComponent Child не рисует после переопределения функции Parent PaintComponent
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • В C# можно ли привести List к List?
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Ошибка. Невозможно вызвать «String.isEmpty()», поскольку «parent.path» имеет значение null для функций хранилища данных
    Anonymous » » в форуме Android
    0 Ответы
    82 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»