Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SelectItem + HtmlCommandButton = баг? 
:(
    Опции темы
Omar66
Дата 10.12.2009, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.4.2008

Репутация: нет
Всего: нет



jsf-isp c кнопкой commandButton и списком selectOneMenu. Жму кнопку - работает commandButton1_action(). !!! НЕ РАБОТАЕТ, если value элементам в списке задать Object.
А в конструкторе читаю SelectItem(java.lang.Object value, java.lang.String label). Когда value задаю String, то всё ОК, а если не String , то не работает. В JDeveloper 10.1.3.5.0 всё это происходит. 

Файл Untitled1.java  
Код

package btnAndCombo.backing;

import java.util.ArrayList;
import java.util.List;

import javax.faces.component.UISelectItems;
import javax.faces.component.html.HtmlCommandButton;
import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlSelectOneMenu;
import javax.faces.model.SelectItem;

public class Untitled1
{
  private HtmlForm form1;
  private HtmlCommandButton commandButton1;
  private HtmlSelectOneMenu selectOneMenu1;
  private UISelectItems selectItems1;

  public void setForm1( HtmlForm form1 )
  {
    this.form1 = form1;
  }

  public HtmlForm getForm1()
  {
    return form1;
  }

  public void setCommandButton1( HtmlCommandButton commandButton1 )
  {
    this.commandButton1 = commandButton1;
  }

  public HtmlCommandButton getCommandButton1()
  {
    return commandButton1;
  }

  public String commandButton1_action()
  {
    System.out.println( "do commandButton1_action()" );
    return null;
  }

  public void setSelectOneMenu1( HtmlSelectOneMenu selectOneMenu1 )
  {
    this.selectOneMenu1 = selectOneMenu1;
  }

  public HtmlSelectOneMenu getSelectOneMenu1()
  {
    return selectOneMenu1;
  }

  public void setSelectItems1( UISelectItems selectItems1 )
  {
    this.selectItems1 = selectItems1;
  }

  public UISelectItems getSelectItems1()
  {
    List<SelectItem> choices = new ArrayList<SelectItem>();

// !!! Если эту часть раскомментировать, а ниже закомментировать, то всё ОК
//    choices.add( new SelectItem( "1", "JSF News" ) );
//    choices.add( new SelectItem( "2", "IT Industry News" ) );
//    choices.add( new SelectItem( "3", "Company News" ) );

    choices.add( new SelectItem( new Integer(1), "JSF News" ) );
    choices.add( new SelectItem( new Integer(2), "IT Industry News" ) );
    choices.add( new SelectItem( new Integer(3), "Company News" ) );

    selectItems1 = new UISelectItems();

    selectItems1.setValue( choices );
    
    return selectItems1;
  }
}



Файл untitled.jsp
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1251"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view>
  <html>
    <head>
      <meta http-equiv="Content-Type"
            content="text/html; charset=windows-1251"/>
      <title>untitled1</title>
      <style type="text/css">
      body {
      background-color: #ffefd6; 
}
      a:link { color: #d6ff84; }
    </style>
    </head>
    <body><h:form binding="#{backing_untitled1.form1}" id="form1">
        <p>
          <h:commandButton value="commandButton1"
                           binding="#{backing_untitled1.commandButton1}"
                           id="commandButton1"
                           action="#{backing_untitled1.commandButton1_action}"/>
        </p>
        <p>
          <h:selectOneMenu binding="#{backing_untitled1.selectOneMenu1}"
                           id="selectOneMenu1">
            <f:selectItems binding="#{backing_untitled1.selectItems1}"
                           id="selectItems1"/>
          </h:selectOneMenu>
        </p>
      </h:form></body>
  </html>
</f:view>
<%-- oracle-jdev-comment:auto-binding-backing-bean-name:backing_untitled1--%>


Не работает, нет сообщения "do commandButton1_action()" из public String commandButton1_action()
Баг или моё невежество? smile Как бороться?
PM MAIL   Вверх
Bandit
Дата 11.12.2009, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Какая версия jsf? Может в этом ошибка? Поскольку с такой проблемой не сталкивался. С другой стороны всегда использовал в 
new SelectItem() только простые типы. 
PM MAIL   Вверх
Eric_Cartman
Дата 11.12.2009, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 2.3.2008

Репутация: нет
Всего: 1



нужно написать свой конвертер, либо юзать "Any basic or primitive types that have converters"
PM MAIL   Вверх
Omar66
Дата 14.12.2009, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.4.2008

Репутация: нет
Всего: нет



Цитата(Bandit @ 11.12.2009,  12:04)
Какая версия jsf? Может в этом ошибка? Поскольку с такой проблемой не сталкивался. С другой стороны всегда использовал в 
new SelectItem() только простые типы.

JDeveloper 10.1.3.1 upgrades to the JavaServer Faces reference implementation version 1.1_02.

Про простые типы:
 
Код

 choices.add( new SelectItem( 1, "JSF News" ) );
 choices.add( new SelectItem( 2, "IT Industry News" ) );
 choices.add( new SelectItem( 3, "Company News" ) );
Не работает. Видимо автоупаковка...

Добавлено через 5 минут и 27 секунд
Цитата(Eric_Cartman @ 11.12.2009,  13:31)
нужно написать свой конвертер, либо юзать "Any basic or primitive types that have converters"

Конверторы ещё не доводилось писать... Можно подробнее что во что конвертировать?  smile 
PM MAIL   Вверх
Eric_Cartman
Дата 14.12.2009, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 2.3.2008

Репутация: нет
Всего: 1



Цитата(Omar66 @ 14.12.2009,  10:40)
Конверторы ещё не доводилось писать... Можно подробнее что во что конвертировать?  smile

Я лучше посоветую книжку полистать: Java Server Faces In Action
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.