JSF-rendering: Zustand des EL Aussage falsch

Ich habe ein problem mit meinem JSF-rendering. Einem bestimmten Zustand, in Expression-Sprache, wird nicht ausgeführt, in der richtigen Weise.
E. g:

Beispiel 1

<f:param name="cat" value="#{product.category.uri}" rendered="#{product.category.parent.uri == null}" />
<f:param name="cat" value="#{product.category.parent.uri}" rendered="#{product.category.parent.uri != null}" />

Beispiel 2

<c:if test="#{product.category.parent.uri == null}">
    <f:param name="cat" value="#{product.category.uri}" />
</c:if>

<c:if test="#{product.category.parent.uri != null}">
    <f:param name="cat" value="#{product.category.parent.uri}" />
</c:if>

Problem

In beiden Beispielen, sowohl meine Parameter werden Hinzugefügt, um meine Umgebung h:outputLink.
Ich bin nicht sicher, welche anderen code hinzufügen, so dass, wenn Sie Jungs brauchen etwas anderes, um mir zu helfen, werde ich Sie gerne zur Verfügung stellen.

Vielen Dank im Voraus.

Beispiel 3 (auf Anfrage)

<?xml version='1.0' encoding='UTF-8' ?>

<ui:composition template="./WEB-INF/templates/base.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:c="http://java.sun.com/jsp/jstl/core">
    <ui:define name="content">
        <c:choose>
            <c:when test="#{webshop.productlist.size() > 0}">
                <div id="spacer">
                    <ui:repeat value="#{webshop.productlist}" var="product">
                        <div id="block">
                            <p>
                                <h:outputLink value="product.xhtml">
                                    #{product.name}
                                    <c:choose>
                                        <c:when test="#{product.category.parent.uri == null}">
                                            <f:param name="cat" value="#{product.category.uri}" rendered="" />
                                        </c:when>
                                        <c:otherwise>
                                            <f:param name="cat" value="#{product.category.parent.uri}" />
                                        </c:otherwise>
                                    </c:choose>
                                    <f:param name="product" value="#{product.uri}" />
                                </h:outputLink>
                            </p>
                        </div>
                    </ui:repeat>
                </div>
            </c:when>

            <c:otherwise>
                (...)
            </c:otherwise>
        </c:choose>
    </ui:define>
</ui:composition>

Habe ich aufgeräumt ist dieses Beispiel ein wenig, aber die Essenz ist da.
Ich habe die Stelle die ersten Beispiele von a, wenn/sonst-Konstruktion, ob mein Produkt.Kategorie.Eltern.uri null ist oder nicht, es wird mir das erste Ergebnis in diesem Fall.

Keine Fehler auf der Konsole?
NÖ, und das gegeben .uri null, in der Tat.
In der Tat sollten Sie Debuggen, warum das Produkt nicht in den Anwendungsbereich.
Was meinst du genau?
warum hat Ihr EL die " # " - Zeichen? sollte es nicht "$" ?

InformationsquelleAutor Menno | 2012-09-07

Schreibe einen Kommentar