Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

<p:dataTable> не работает
Список форумов
 ->  Основы веб-программирования на Java


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
reds-scauser : 20
Новичок
Откуда: г. Алматы

СообщениеЯнв 22, 2012 19:58 
Ответить с цитатой
Здравствуйте! Надеюсь на вашу помощь.
У меня есть
index.xhtml

Код:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Форма добавления записи БЗР</title>
    </h:head>
    <h:body>
        <h:form prependId="false">
            <p:tabView>
                <p:tab title="Основные сведения">
                    <p:panel id="GeneralInformationPanel">
                        <h:panelGrid columns="4" border="0">
                            <h:outputLabel value="*" style="color: red; font: bold 18px Times;" escape="false"/>
                            <h:outputLabel for="BZRnumber" value="Номер карточки БЗР" escape="false"/>
                            <h:outputLabel value="&amp;nbsp;&amp;nbsp;" escape="false"/>
                            <p:inputText id="BZRnumber" required="true"
                                         requiredMessage="Поля отмеченные звездочкой обязательные для заполнения."/>
                        </h:panelGrid>
                    </p:panel>
                </p:tab>
                <p:tab title="Ключевые слова">
                    <p:panel header="Добавления ключевых слов:" id="KeywordPanel">
                        <h:panelGroup style="font: 15px Times;">
                            <h:outputLabel for="Keywords" value="Ключевое слово"/>
                            <h:outputLabel value="&amp;nbsp;&amp;nbsp;" escape="false"/>
                            <p:inputText id="Keywords" value="#{keywords.keyword}" style="font: 15px Times;"/>
                            <h:outputLabel value="&amp;nbsp;&amp;nbsp;" escape="false"/>
                            <p:commandButton value="Добавить" update="KeywordsPanel KeywordPanel" ajax="true"
                                             style="font: 13px Times;" action="#{keywords.addKeyword}"/>
                        </h:panelGroup>
                    </p:panel>
                    <p:panel header="Список ключевых слов:" id="KeywordsPanel">
                        <p:dataTable id="KeywordsTable" style="text-align: center; font: 14px Times;"
                                     rowIndexVar="resIdx" value="#{keywords.keywords}">
                            <p:column headerText="№">
                                <h:outputText value="#{resIdx + 1}"/>
                            </p:column>
                            <p:column headerText="Ключевое слово">
                                #{keywords.keywords.get(resIdx)}
                            </p:column>
                            <p:column headerText="Действия">
                                <p:commandButton image="ui-icon-pencil"/>
                                <p:commandButton image="ui-icon-close"/>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:tab>
            </p:tabView>
        </h:form>
    </h:body>
</html>


и

Код:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package kz.erpca.bzr.web.ui;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import java.util.*;

/**
 *
 * @author daniyar.artykov
 */
@ManagedBean(name = "keywords")
@ViewScoped
public class KeywordsBean implements Serializable {

    /** Creates a new instance of KeywordsBean */
    public KeywordsBean() {
    }
    String keyword;
    ArrayList<String> keywords = new ArrayList<String>();

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public ArrayList<String> getKeywords() {
        return keywords;
    }

    public String addKeyword() {
        keywords.add(keyword);
        keyword = null;
        return null;
    }

    public String deleteKeyword(String keyword) {
        keywords.remove(keyword);
        return null;
    }
}


в index.xhtml не работает <p:dataTable> в этой части кода:

Код:

<p:panel header="Добавления ключевых слов:" id="KeywordPanel">
                        <h:panelGroup style="font: 15px Times;">
                            <h:outputLabel for="Keywords" value="Ключевое слово"/>
                            <h:outputLabel value="&amp;nbsp;&amp;nbsp;" escape="false"/>
                            <p:inputText id="Keywords" value="#{keywords.keyword}" style="font: 15px Times;"/>
                            <h:outputLabel value="&amp;nbsp;&amp;nbsp;" escape="false"/>
                            <p:commandButton value="Добавить" update="KeywordsPanel KeywordPanel" ajax="true"
                                             style="font: 13px Times;" action="#{keywords.addKeyword}"/>
                        </h:panelGroup>
                    </p:panel>
                    <p:panel header="Список ключевых слов:" id="KeywordsPanel">
                        <p:dataTable id="KeywordsTable" style="text-align: center; font: 14px Times;"
                                     rowIndexVar="resIdx" value="#{keywords.keywords}">
                            <p:column headerText="№">
                                <h:outputText value="#{resIdx + 1}"/>
                            </p:column>
                            <p:column headerText="Ключевое слово">
                                #{keywords.keywords.get(resIdx)}
                            </p:column>
                            <p:column headerText="Действия">
                                <p:commandButton image="ui-icon-pencil"/>
                                <p:commandButton image="ui-icon-close"/>
                            </p:column>
                        </p:dataTable>
                    </p:panel>



но если убрать из index.xhtml

Код:
<h:panelGrid columns="4" border="0">
                            <h:outputLabel value="*" style="color: red; font: bold 18px Times;" escape="false"/>
                            <h:outputLabel for="BZRnumber" value="Номер карточки БЗР" escape="false"/>
                            <h:outputLabel value="&amp;nbsp;&amp;nbsp;" escape="false"/>
                            <p:inputText id="BZRnumber" required="true"
                                         requiredMessage="Поля отмеченные звездочкой обязательные для заполнения."/>
                        </h:panelGrid>


<p:dataTable> работает... но не могу понят в чем проблема Sad

Помогите разобраться, заранее спасибо!
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
demon_zx : 1568
Завсегдатай
Откуда: Moscow

СообщениеЯнв 22, 2012 20:31 
Ответить с цитатой
Цитата:
&amp;
замените на &
Цитата:
nbsp;
вообще неправильно записано  
иначе эти записи невалидны для xhtml
К началу Посмотреть профиль Отправить личное сообщение
reds-scauser : 20
Новичок
Откуда: г. Алматы

СообщениеЯнв 22, 2012 21:31 
Ответить с цитатой
demon_zx писал(а):
Цитата:
&amp;
замените на &
Цитата:
nbsp;
вообще неправильно записано  
иначе эти записи невалидны для xhtml


спасибо за ваш быстрый ответ!
я разобрался, это из-за

Код:

<p:inputText id="BZRnumber" required="true"
                                         requiredMessage="Поля отмеченные звездочкой обязательные для заполнения."/>


где вместо
Код:
required="true"
меняем на
Код:
required="false"


но мне надо чтобы это поле было обязательной...
можете помочь?
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
demon_zx : 1568
Завсегдатай
Откуда: Moscow

СообщениеЯнв 22, 2012 21:40 
Ответить с цитатой
Код:
p:inputText
должен быть атрибут value, а так не понятно куда передается значение и скорее всего на попытке валидирования значения и валится
К началу Посмотреть профиль Отправить личное сообщение
reds-scauser : 20
Новичок
Откуда: г. Алматы

СообщениеЯнв 22, 2012 22:01 
Ответить с цитатой
demon_zx писал(а):
Код:
p:inputText
должен быть атрибут value, а так не понятно куда передается значение и скорее всего на попытке валидирования значения и валится


спасибо, я разобрался, благодаря вам Smile

в коде

Код:

<p:commandButton value="Добавить" update="KeywordsPanel KeywordPanel"
                                             style="font: 13px Times;" action="#{keywords.addKeyword}"/>


нужно добавить
Код:
process="KeywordPanel"
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru