PF Wizard не переходит к следующему шагу?

Я реализовал следующий мастер:

<!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:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:c="http://java.sun.com/jstl/core">

<h:head>
    <meta charset="utf-8" />
</h:head>

<h:body>

    <h:form id="wizard" enctype="multipart/form-data">
        <p:wizard id="wiz" widgetVar="wiz">


            <p:tab id="productWizardBasicTab"
                title="#{lang['product.TabBasicProduct']}">
                <p:panel header="#{lang['product.header']}">
                    <h:panelGrid id="basic" columns="2" columnClasses="label, value"
                        styleClass="grid">
                        <h:outputText value="#{lang['product.productname']}" />
                        <p:inputText id="productName" required="true" label="" value="" />

                        <h:outputText value="#{lang['product.description']}" />
                        <p:inputText id="productDescription" required="true" label=""
                            value="" />

                        <h:outputText value="#{lang['product.tags']}" />
                        <p:inputText id="productTags" required="true" label="" value="" />

                        <h:outputText value="#{lang['product.price']}" />
                        <p:inputText id="productPrice" required="true" label="" value="" />

                    </h:panelGrid>
                </p:panel>
            </p:tab>

            <p:tab id="productWizardImageTab"
                title="#{lang['product.TabProductImages']}">
                <p:panel header="#{lang['product.UploadImageHeader']}">

                </p:panel>
            </p:tab>

            <p:tab id="productWizardSpecialTab"
                title="#{lang['product.TabSpezialization']}">

            </p:tab>

            <p:tab id="productWizardTagTab"
                title="#{lang['product.TabTags']}">

            </p:tab>

            <p:tab id="productWizardTagTab"
                title="#{lang['product.ShareTab']}">

            </p:tab>

        </p:wizard>
    </h:form>

</h:body>

</html>

Моя проблема в том, что этот мастер, никак при запуске на tomcat 7.0 server не реагирует. Я реализовал библиотеку PF 3.5 и использую jsf 2.2.0.

Я благодарен за каждый намек на волшебника!


person maximus    schedule 08.08.2013    source источник


Ответы (3)


Хотя я не совсем уверен, что PF3.5 поддерживает JSF2.2, следующая выдержка приведет к сбою проверки вашей формы.

<p:inputText id="productName" required="true" label="" value="" />

value="" означает, что значение не привязано ни к какому свойству поддерживающего компонента, и при этом условии мастер не сможет продолжить работу. Я знаю, это странно, но компонент каким-то образом ожидает возможности обновить значение этого компонента относительно другого компонента. В вашей форме простой ввод значения в это текстовое поле без его обновления по сравнению с чем-то еще приведет к ошибке проверки (из-за required="true").

Поэтому вам нужно привязать эти поля к чему-то обновляемому, предпочтительно к bean-компоненту поддержки.

person kolossus    schedule 08.08.2013

Во-первых, Primefaces 3.5 не будет работать с jsf 2.2.0. Если вы видите свою консоль tomcat, вы можете узнать. И второе — привязать значение к свойству поддерживающего компонента. Используйте jsf 2.1.22. или выше (не 2.2.0 или выше) с первичными лицами 3.5, чтобы заставить работать мастер первичных лиц.

Если вы хотите продолжать использовать jsf 2.2.0 или выше, используйте Primefaces 4.0-SNAPSHOT.

person udaykiran.nalla    schedule 08.08.2013

Проблема может заключаться в том, что вы используете одни и те же id и widgetVar для p:wizard. Некоторые браузеры смешивают их, а затем пытаются выполнить wiz.nextStep() на id вместо widgetVar, что приводит к какой-то ошибке "nextStep() не является функцией".

person Manuel    schedule 09.08.2013