Hallo zusammen,
ich habe eine Anfängerfrage, da ich mich zum ersten mal mit JSf beschäftige. Habe auch schon so einiges ans Laufen bekommen, doch hier weiss ich nicht so recht, wie es geht.
Ich habe eine Bean, die u.a. einen boolean als Attribut hat. Wenn ich auf einen bestimmten Link klicke, möchte ich, dass der boolean einer bestimmten Bean auf einen anderen Wert gesetzt wird und danach meine View refresht wird. Das Ganze soll dazu gut sein, um Kommentare ein- und ausblenden zu können. Schön wäre es, wenn das Ganze per Ajax möglich wäre.
Ich habe es erst einmal mit einem ActionListener versucht, doch wird die Seite danach nicht richtig gerendert. Ich möchte im Prinzip nur die PanelGroup danach aktualisieren. Hoffe, ich wisst was ich meine.
Bean:
View:
ich habe eine Anfängerfrage, da ich mich zum ersten mal mit JSf beschäftige. Habe auch schon so einiges ans Laufen bekommen, doch hier weiss ich nicht so recht, wie es geht.
Ich habe eine Bean, die u.a. einen boolean als Attribut hat. Wenn ich auf einen bestimmten Link klicke, möchte ich, dass der boolean einer bestimmten Bean auf einen anderen Wert gesetzt wird und danach meine View refresht wird. Das Ganze soll dazu gut sein, um Kommentare ein- und ausblenden zu können. Schön wäre es, wenn das Ganze per Ajax möglich wäre.
Ich habe es erst einmal mit einem ActionListener versucht, doch wird die Seite danach nicht richtig gerendert. Ich möchte im Prinzip nur die PanelGroup danach aktualisieren. Hoffe, ich wisst was ich meine.
Bean:
Java:
public boolean isShowComments()
{
return showComments;
}
public void change(ActionEvent event)
{
showComments = !showComments;
}
View:
Java:
<p:dataGrid value="#{entryController.displayed}" var="entry" id="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.creationDateAsString})</h2>
#{entry.text}
<br />
<br />
<br />
<br />
[Tags: #{entry.tags}]
<h:panelGroup layout="block" rendered="#{entry.showComments}">
Hallo, ich bin ein Kommentar
</h:panelGroup>
<h:form>
<h:commandLink actionListener="#{entry.change}"><h:outputText value="Show comments" /></h:commandLink>
</h:form>
</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>