JSF za 1 razem przeładowuje zamiast ajaxa

0

Cześć.
Załączam mały JSFowy projekt w zipie.
mam taki problem, że za pierwszym razem kiedy wejdę na stronę.
akcja na przycisku przeładowuje mi stronę zamiast użyć ajaxa.
po tym już wszystko działa dobrze.

aplikację można łatwo zdeployować na tomcat'cie.

załączam xhtml'ki może ktoś od razu zauważy błąd:

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:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head>
    <h:outputScript library="primefaces" name="jquery/jquery.js"/>
</h:head>
<h:body>
    <h:outputStylesheet name="css/style.css"/>

    <h:form id="glownaForma">
        <ui:fragment rendered="#{true}">
            <ui:include src="tabelkaZButtonem.xhtml">
                <ui:param name="formName" value="glownaForma"/>
            </ui:include>
        </ui:fragment>
    </h:form>

</h:body>
</html>

tabelkaZButtonem.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">

    <p:panel header="Dane w tabelce">
        <ui:include src="tabelka.xhtml"/>
        <p:commandButton value="Pokaż wiadomość"
                         onclick="PF('dialogWiadomosci').show()"
                         rendered="true"
                         update="dialogWiadomosciForm"
                         process="@this"/>
    </p:panel>
</ui:composition>

tabelka.xhtml

<ui:composition id="uc1864" xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">

    <p:dataTable id="tabelka"
                 value="#{controller.records}"
                 var="rekordy"
                 selectionMode="single"
                 selection="#{controller.record}"
                 rowKey="#{rekordy.id}"
                 paginatorTemplate="{PreviousPageLink} {PageLinks} {NextPageLink}"
                 rows="5"
                 paginator="true"
                 paginatorPosition="bottom">

        <p:ajax event="rowSelect" process="@this" update=":#{formName}:dialogWiadomosciForm:wiadomosc"/>

        <p:column headerText="ID Rekordu">
            <h:outputText value="#{rekordy.id}">
            </h:outputText>
        </p:column>

        <p:column headerText="Opis">
            <p:outputLabel value="#{rekordy.description}"/>
        </p:column>
    </p:dataTable>


    <h:form id="dialogWiadomosciForm">
        <p:dialog header="Wiadomość z rekordu" widgetVar="dialogWiadomosci"
                  modal="true" width="80%" appendTo="@(body)"
                  resizable="false"
                  dynamic="true"
                  rendered="#{controller.record != null}">

            <p:panel id="wiadomosc">
                <h:outputText value="#{controller.record.message}"/>
            </p:panel>
        </p:dialog>

    </h:form>


</ui:composition>

czytam o ajaxie, process i update i nie rozumiem templatek dlaczego tak się dzieje :| . ktoś coś?

1

Uruchomiłem ten kod, wyrzuciłem to co średnio mi się podobało, czyli process="@this" z obydwu plików i rendered="#{controller.record != null}" . Wygląda na to, że ta ostatnia linia psuje tego ajaxa

0

ta tak udało mi się to ogarnąć dzięki. opiszę potem jak do tego dojść i jak to rozwiązać profesjonalnie. rendered , @szarotka miała rację

1 użytkowników online, w tym zalogowanych: 0, gości: 1