JSF Menüauswahl soll andere Komponente aktualisieren

Phenix

Bekanntes Mitglied
Hallo zusammen,

ich arbeite mich gerade in JSF ein uns wollte noch dazu gleich einmal das Primeface s Framework ausprobieren. Nun habe ich Menü mit mehreren Items. Wenn eines dieser Items ausgewählt wird, soll eine bestimmte Komponente aktualisiert werden. D.h., dass sich ihre Daten neu einlesen soll. Wie kann ich das bewerkstelligen?

Das Menü:
Java:
                    <p:menu type="sliding" maxHeight="125">
                        <c:forEach items="#{categoryManager.categories}" var="category">
                            <p:submenu label="#{category.description}">
                                <c:forEach items="#{category.entries}" var="entry">
                                    <p:menuitem value="#{entry.headline}" actionListener="" />
                                </c:forEach>
                            </p:submenu>
                        </c:forEach>
                    </p:menu>

Diese Komponente soll ihre Daten neu einlesen:

Java:
<p:dataGrid value="#{initial.entries}" var="entry" widgetVar="grid" paginator="true" effect="true" columns="1" rows="7" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" rowsPerPageTemplate="9,12,15">
                        <p:column>
                            <h:panelGroup layout="block" styleClass="article">
                                <h:graphicImage library="images" name="oben_links.png" width="75px" height="35px" />
                                <h:graphicImage library="images" name="oben_rechts.png" width="75px" height="35px" style="float:right;"/>
                                <h:panelGroup layout="block" styleClass="article_content">
                                    <h2>#{entry.headline} (#{entry.creationDate})</h2>
                                    #{entry.text}
                                </h:panelGroup>
                                <h:graphicImage library="images" name="unten_links.png" width="75px" height="35px"/>
                                <h:graphicImage library="images" name="unten_rechts.png" width="75px" height="35px" style="float:right;" />
                            </h:panelGroup>
                        </p:column>
                    </p:dataGrid>
 

Phenix

Bekanntes Mitglied
Ergänzung:
Es wäre toll, wenn das Ganze via Ajax liefe, damit nicht die komplette Seite neu geladen werden muss.

PS: Warum kann ich meinen vorigen Beitrag nicht editieren?
 

Phenix

Bekanntes Mitglied
Weiss da keiner was zu?

Klick auf Menüitem -> aktualisierung von Datatable o.ä Komponente.

Habe das versucht mit einem ActionListener zu machen, doch hab ich das nicht hinbekommen

Edit:
Jetzt funktioniert es. Ich habe dem Form worin das Grid eingebettet ist das Attribut prependId auf false gesetzt. Habe nur nicht ganz verstanden, wozu das Attribut gut sein soll.
 
Zuletzt bearbeitet:
S

Sym

Gast
Java:
<p:menuitem value="#{entry.headline}">
    <f:ajax event="click" render="nameMeinerKomponenteDieNeuGezeichnetWerdenSoll"/>
</p:menuItem>
So macht man das mit JSF2.
 

Ähnliche Java Themen

Neue Themen


Oben