Übergeben Sie den Wert von h:outputLink zu JSF nach dem onclick-Ereignis
Brauche ich, um eine Ganzzahl in eine JSF-backing bean nach onclick
Veranstaltung auf h:outputLink
.
Wichtig : ich nicht verwenden, f:param übergeben Wert als request-Parameter an die naviagating Seite, wie ich bin Verhinderung Standard onclick Verhalten von h:outputlink. Das Steuerelement, statt die Navigation zu der Seite definiert durch das href-Attribut, geht an eine javascript-Funktion.
Verwendung Von Primefaces 3.0M3 Schnappschuss mit JSF 2.0
Mein code folgt:
<h:outputLink id="#{item.id}" value="/itemDetails.xhtml" class="itemLink" >
#{item.name}
</h:outputLink>
<script>
$(".itemLink").click(function(event) {
showDetailsInDialog();//show the item details in dialog
event.preventDefault();//prevent the behaviour provided by href
});
</script>
<h:form>
<p:remoteCommand name="showDetailsInDialog" update="itemDetailsPanel" oncomplete="itemDetailsDialog.show()">
<f:setPropertyActionListener value="....id of the item...." target="#{itemsList.selectedItem}"/>
</p:remoteCommand>
</h:form>
Habe ich eine wiederverwendbare dialog
zeigt die details des ausgewählten Elements ein itemslist. Für diese, wenn die h:outputLink
für ein element geklickt wird die id des Elements übergeben werden muss JSF gerendert werden entsprechende Inhalte in dialog
.
Wie oben gezeigt, Wenn ich das id-Element in remotecommand
, ich kann es passieren, um entsprechende backing bean durch setPropertyActionListener
p:remoteCommand
Komponente, es erzeugt eine Javascript-Funktion aufrufen, die die backing-bean-Methode.Danke! Ja, ich bin mit primefaces & ich habe auch versucht, mit remotecommand, aber ich konnte nicht herausfinden, wie pass-Wert von
h:outputLink
zu f:setPropertyActionListener
innerhalb von p:remoteCommand
. Wenn Sie könnten mir helfen mit einem Beispiel-code, dass wäre toll!Man bedenke, dass ich den Wert in
h:outputLink
in eine JSF-backing bean.Können Sie nach dem code (der Blick und die Bohne)?
Ich habe meinen code oben. Danke!
InformationsquelleAutor Rajat Gupta | 2011-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie sollten
p:commandLink
statth:outputLink
wie folgt -Anzeigen -
Bean -
Update:
Können Sie tun, dass durch die Verwendung von JQuery wie folgt -
Ich habe eine Anleitung für meinen Fall.. ich kann auch mit remoteCommand übergeben Wert zu backing-bean von js. Rightnow, ich kann nicht herausfinden, wie zu liefern/empfangen Parameter zu remoteCommand
Ich habe aktualisiert die Antwort. Ich bin nicht sicher, ob es der richtige Weg zu tun, aber es scheint zu funktionieren. Im Grunde genommen, haben ein hidden-input (gebunden an die backing-bean-Element prop mit el) in die form mit dem p:remoteCommand und jQuery zum aktualisieren der value-Attribut des versteckten input-vor dem aufrufen der remoteCommand. Vergessen Sie auch nicht zu verarbeiten versteckten Eingang auf remoteCommand Aufruf.
Vielen Dank, Das hat funktioniert!
InformationsquelleAutor Bhesh Gurung
Überprüfen diese aus. Ich habe die selben Probleme wie du, aber ich löste es nach der Lektüre BalusC's link.
Kurz, es gibt, was u reden abt:
f:Attribut: mit der h:commandLink und h:commandButton - tags Sie können auch bewirken, eine Methode der backing-bean mit dem actionListener Attribut. Mit diesem können Sie auch die f:Attribut-tag, um dynamisch die übergabe der Parameter. Hier ist ein Beispiel:
Diese Attribute können abgerufen werden, mit getAttributes() des übergeordneten UI-Komponente, die auf seinen turn, können abgerufen werden, indem die ActionEvent übergeben actionListener.
Die Variablen attributeName1 und attributeName2 jetzt sollten die Werte enthalten, attributeValue1 und attributeValue2 bzw.
Zu achten, dass jedes Attribut name sollte eindeutig sein und sollte nicht zu überschreiben, die Standard-Komponente durch Attribute wie "id", "name", "Wert", "Bindung", "gerendert", etc.
InformationsquelleAutor BachT