Zur anderen Ansicht navigieren und einen Parameter übergeben

Meine aktuelle Umgebung ist JRE 1.7, JSF 2.2, Eclipse Luna. Auf einer bestimmten Seite entity_index.xhtml) meiner Bewerbung habe ich folgenden (PrimeFaces) Button:

<p:commandButton value="Details" action="entity_details"
                 ajax="false" onclick="this.form.target='_blank'">
    <f:param name="id" value="#{entity.id}" />
</p:commandButton>

Die Idee ist, eine Schaltfläche bereitzustellen, damit der Benutzer darauf klicken kann. Einige Details zur aktuellen Entität werden in einem anderen Browser-Tab angezeigt (Seiteentity_details.xhtml). Dies ist ein Knopf von vielen, so dass dasentity_index.xhtmluf der Seite @ werden viele Instanzen von Entity angezeigt, von denen jede über eine Detailschaltfläche verfügt.

Die Schaltfläche funktioniert in dem Sinne, dass eine neue Registerkarte geöffnet wird und die richtige Seite entity_details.xhtml) wird angezeigt, aber die Entity-ID gelangt nie zu der Bean, die die Detailseite (@) verarbeiteEntityDetailsMB). Die Detailseite lautet wie folgt:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:dsi="http://www.cce.ufpr.br"
    template="/private/template/sbadmin.xhtml">
<f:metadata>
    <f:viewParam name="id" value="#{entityDetailsMB.id}"/>
</f:metadata>

<ui:define name="content">
<h2 class="page-header">#{entityDetailsMB.entity.name}</h2>
<h:form id="form">
...
</ui:composition>

Bitte beachten Sie, dass es ein @ gi<f:metadata/> -Element zur Erfassung des von der Indexseite gesendeten Parameters und zur Weiterleitung an dasid Eigenschaft inEntityDetailsMB, wo es folgendes gibt:

public Entity getEntity() {
    return entityById(id);
}

public Long getId() {
    return id;
}

public void setId(Long value) {
    id = value;
}

Weil dersetId() Methode wird nie aufgerufen,getEntity() gibt immer @ zurünull.

Was fehlt, damit es funktioniert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage