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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jsf checkbox, передача value через объект состояния 
:(
    Опции темы
tookmaan
Дата 10.4.2012, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



здрасте! Который день мучаюсь с checkbox -ом. Проблема: объект состояния(в моём случае карта selectedIds<Long, Value> в бине) не принимает значения отмеченных боксов. Уже и не знаю что делать. В метод delete() selectedIds всегда приходит пустым.

в бине:
Код



        private Map<Long, Boolean> selectedIds;
        public Map<Long, Boolean> getSelectedIds() {
            return selectedIds;
        }
     
        public void setSelectedIds(Map<Long, Boolean> selectedIds) {
            this.selectedIds = selectedIds;
        }




Код



    //метод удаления новости по выбранному чекбоксу
    public String delete() {
     
            HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
            HttpSession session = request.getSession();
            String lang = (String) session.getAttribute(ATTRIBUTE_LANG);
            String pattern = getConfigurationManager().getProperty(PATTERN + lang);
     
            ArrayList<String> checkedList = new ArrayList<String>();
            for (Entry<Long, Boolean> entry : selectedIds.entrySet()) {
                if (entry.getValue()) {
                    checkedList.add(String.valueOf(entry.getKey()));
                }
            }
            if (checkedList.isEmpty()) {//delete one news
                long deleteId = news.getId();
                String[] checkedIdList = {String.valueOf(deleteId)};
                newsDAO.delete(checkedIdList);
            } else {//delete newslist
                String[] s = new String[checkedList.size()];
                newsDAO.delete(checkedList.toArray(s));
            }
    }




модель новость:
Код



    public class NewsModel implements Serializable {
        @SequenceGenerator(name = "news_seq_generator",
        sequenceName = "news_seq")
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "news_seq_generator")
        @Column(name = "id")
        private Long id;
        public Long getId() {
            return id;
        }
     
        public void setId(Long id) {
            this.id = id;
        }
    }




на странице *.xhtml:

Код


    <ui:repeat var="item" value="#{NewsAction.newsList}" >
     
                <h:panelGrid columns="2"
                             columnClasses="newsListTableFirst,newsListTableSecond"
                             width="100%">
     
                    <h:outputText value="${item.title}" style="font: bold"/>
                    <h:outputText value="${item.date}" style="text-decoration: underline; font-size: 13px;"/>
                    <h:outputText value="${item.brief}"/>
                    <h:form>
                        <h:commandLink action="#{NewsAction.view}"
                                       value="#{msg['link.view']}">
                            <f:param name="viewId" value="${item.id}"/>
                        </h:commandLink>
                        <h:commandLink action="#{NewsAction.edit}"
                                       value="#{msg['link.edit']}"
                                       style="padding-left: 10px;">
                            <f:param name="editId" value="${item.id}"/>
                        </h:commandLink>
                        <h:selectBooleanCheckbox value="#{NewsAction.selectedIds[item.id]}"
                                              style="padding-left: 10px;"/>
     
     
                    </h:form>
     
                </h:panelGrid>
                <br/>
    </ui:repeat>




help...

Добавлено Сегодня, 17:53
в debugger console:
Attaching to tomcat_shared_memory_id
Not able to submit breakpoint MethodBreakpoint [java.util.Map].put '(LK;LV;)LV;', reason: Method 'put' with signature '(LK;LV;)LV;' does not exist in class java.util.Map.

не понимаю каким образом оно возникает и что этому способствует. 
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.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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