2009-02-13 8 views
2

Je suis en train d'utiliser l'extrait suivant dans mon fichier tag:el expression dans jsp: INVOKE

<%@ attribute name="content" fragment="true"%> 
... 
<c:set var="part" value="content"/> 
<jsp:invoke fragment="${part}" var="partValue"/> 
... 

et compilateur me donne l'erreur suivante:

Syntax error, insert ") Statement" to complete IfStatement 

afin que je comprends est n'est pas autorisé à utiliser el expression dans l'attribut fragment. Quelqu'un pourrait-il me signaler cette restriction dans la spécification? Ou donner des conseils sur l'invocation du contenu du fragment si le nom du fragment que je calcule à l'exécution

Répondre

1

Techniquement, l'attribut fragment n'est pas une valeur rtex, ce qui peut être vu à partir du schéma; ce qui signifie qu'il est évalué au moment de la compilation.

Il n'y a vraiment qu'un nombre très limité de cas d'utilisation pour ce que vous essayez d'obtenir. Il est très probable que vous souhaitiez fournir plusieurs fragments à un fichier de balises et laisser certains conditionnels décider de la balise à produire.

<c:choose> 
    <c:when test="${condition1}"><jsp:invoke fragment="frag1"/></c:when> 
    <c:otherwise><jsp:invoke fragment="frag2"/></c:otherwise> 
</c:choose> 
Questions connexes