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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> richfaces suggestionbox, не могу понять как пользоваться 
:(
    Опции темы
skhilkov
Дата 24.7.2007, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте форумчане!
Нашел я значит хороший компонент в библиотеке richfaces, называется suggestionbox, но никак не могу понять как им пользоваться.... Погуглил, нашел пример использования, но и его не понял (( Вот ссылка на этот самый пример - suggestionBox. Вот конкретные вещи, которых я не понимаю - в этом примере у компонента suggestionbox есть параметр var - непонятно что означает и откуда берется....... В примере написано его значение - result, но откуда это взялось...... и опять же этот result упоминается в строчке
 
Код

<h:outputText value="#{result.text}" />

вопрос - что это за result, откуда он взялся и с чем его едят? ))
Порывшись в документации увидел следующую строчку -
Цитата

A request-scope attribute via which the data object for the current row will be used when iterating

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

Убил уже больше полдня на эту головоломку...... помогите плизз советом или работающим примером..... очень надо.... (с меня пиво  smile )



--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
necromancer
Дата 24.7.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Прежде чем братся за AJAX для JSF нужно хотя бы немного знать этот самый JSF!
Строчка:
#{result.text}
означает что берется поименновая переменная, хранящаяся в ParameterMap FacesContext (так называемый бин)и у него свойство text,
через метод getText()

Погугли еще и найди документацию о том как конфигурировать бины об их scope и о том как извлекать данные.
Вот маленький пример конфигурации бина в файлу faces-config.xml:
Код

   <managed-bean>
       <managed-bean-name>security</managed-bean-name>
       <managed-bean-class>ru.freecode.jsf.security.Security</managed-bean-class>
       <managed-bean-scope>session</managed-bean-scope>
   </managed-bean>

Бин представляет собой обычный Java класс с методами get и set через которые компоненты имеют доступ к данным на JSP страницах

PS Может создать подраздел JSF и меня в комодераторы? smile


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
skhilkov
Дата 24.7.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



necromancer,  то что ты написал я знаю, только вот если зайти сюда и скачать пример, то ты не найдешь описания этого самого бина в файле конфигурации..... поэтому я и не понимаю что это за бин такой, какого он типа и с чем его едят  smile 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
necromancer
Дата 24.7.2007, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну не написали они об этом, что ж теперь. 
В чем проблема то? не знаешь какой бин подставить или какие параметры получить? 

Попробуем разобратся вместе
var - A request-scope attribute via which the data object for the current row will be used when iterating

те в вар для suggestionbox нужно подставить название переменной, которую ты потом будешь использовать внутри suggestionbox для отображения выбранного элемента, в примере это 
<h:outputText value="#{result.text}" />

те когда происходит выборка элементов и ты уже выбрал какойт о элемент  suggestionbox получает не объект типа String а некий пользовательский объект, который поступен через request-scope attribute проименованую в:
<suggestionbox  var="result"...
у которого в свою очередь есть свойство text

так понятнее?


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
skhilkov
Дата 24.7.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



necromancer
я так пробовал - не работает..... вот код - 
Код

 <h:inputText  id="text" style="left: 48px; top: 120px; position: absolute; width: 215px" value="#{MyPageBean.property}"/>
                                <rich:suggestionbox border="1" first="0" for="text" frequency="0" height="100" minChars="1" rows="0" rules="none"
                                    suggestionAction="#{AddItemFlatSale.autocomplete}" var="result" width="100">
                                    <h:column>
                                        <h:outputText value="#{result.text}"/>
                                    </h:column>
                                </rich:suggestionbox>


Вот объявление бина - 
Код

<managed-bean>
        <managed-bean-name>result</managed-bean-name>
        <managed-bean-class>tools.MyTestAjaxClass</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>


А вот его класс - 
Код

public class MyTestAjaxClass {

    String text;

    public String getText()
    {
        return text;
    }

    public void setText(String text)
    {
        this.text = text;
    }
    public MyTestAjaxClass()
    {
    
    }

}


Так вот - это не работает, причем нет никаких ошибок.....  Может накатаешь примерчик использования сего компонента?


Это сообщение отредактировал(а) skhilkov - 24.7.2007, 15:02


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
Maksym
Дата 24.7.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



MyPageBean, AddItemFlatSale есть?

Добавлено через 4 минуты и 46 секунд
Цитата(skhilkov @  24.7.2007,  15:01 Найти цитируемый пост)
Так вот - это не работает, причем нет никаких ошибок..... 

Если не работает, то какие то следы должны быть, это же не любительский софт.. Лог Tomcat просмотел?
PM MAIL   Вверх
necromancer
Дата 24.7.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Если будет время чуть позже попробую или уже только после 6-го сорри :-(


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
skhilkov
Дата 25.7.2007, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Maksym, в логах ничего не пишет, поскольку этот самый компонент все таки записывается в страницу:
Код

<input id="form1:textFieldStreet" type="text" name="form1:textFieldStreet" style="left: 72px; top: 24px; position: absolute; width: 191px" /><input id="form1:text" type="text" name="form1:text" value="" style="left: 48px; top: 120px; position: absolute; width: 215px" /><div id="form1:_id0" class="dr-sb-common-container rich-sb-common-container" style="display:none; z-index: 201;width:100px;height:100px;"><div class="dr-sb-ext-decor-1 rich-sb-ext-decor-1"><div class="dr-sb-ext-decor-2 rich-sb-ext-decor-2" style=";; border-width: 1px  1px  1px  1px ;"><table border="0" cellpadding="0" cellspacing="1" class="dr-sb-ext-decor-3 rich-sb-ext-decor-3"><tbody><tr><td><div class="_suggestion_size_ dr-sb-overflow rich-sb-overflow" style="width:96px;height:96px;"><table id="form1:_id0:suggest" border="1" rules="none"><tbody></tbody></table></div></td></tr></tbody></table></div></div><div class="dr-sb-shadow rich-sb-shadow" style="opacity:0.1; filter:alpha(opacity=10);top: 4; left: 4"></div><script> new RichFaces.Suggestion('_viewRoot','form1','form1:text','form1:_id0',null,{'minChars':'1','height':'100','param':'inputvalue','popup':'form1:_id0','width':'100','frequency':0.0,'parameters':{'form1:_id0':'form1:_id0'} ,'eventsQueue':'form1:_id0','entryClass':'richfaces_suggestionEntry','rows':0,'actionUrl':'/realty/faces/AddItemFlatSale.jsp'} );


Зато я посмотрел в консоль ошибок фаейрфокса и увидел вот что:
Код

RichFaces is not defined

Теперь буду ковырять в эту сторону.....


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
skhilkov
Дата 25.7.2007, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Посмотрел исходники онлайн примера, увидел там кучу ссылок на ресурс a4j.res: 
Код

<script type='text/javascript' src='/richfaces-demo/a4j.res/org.ajax4jsf.framework.resource.PrototypeScript.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/scripts/togglePanel.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org.ajax4jsf.framework.ajax.ImageCacheScript.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org/richfaces/renderkit/html/scripts/browser_info.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org/ajax4jsf/renderkit/html/scripts/form.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/scripts/tabPanel.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org.ajax4jsf.framework.resource.SmartPositionScript.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org/richfaces/renderkit/html/scripts/scriptaculo.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org/richfaces/renderkit/html/scripts/suggestionbox.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/script/SliderScript.js.jsf'></script><script type='text/javascript' src='/richfaces-demo/a4j.res/org/richfaces/renderkit/html/scripts/events.js.jsf'></script>


А у меня нет такого..... где это взять???? Ничего не пойму, вроде либы подключил все нормально, все компоненты и из ajax4jsf и из richfaces видны в подсказке, все компилится нормально....... в чем фишка????


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
Maksym
Дата 25.7.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



skhilkov
А попробуй добавь аналогичное подключение java script'ов на своей странице..
PM MAIL   Вверх
skhilkov
Дата 25.7.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Maksym,   а смысл? у меня в приложении нет того файла на который они(скрипты) ссылаются.....


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
Maksym
Дата 25.7.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



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

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

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


 




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


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

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