2010-11-23 15 views
3

Je veux utiliser un tag dans ma page JSF, mais je veux aussi avoir du contenu href dynamique. Je sais qu'il y a un h: commandLink dans JSF mais je ne veux pas l'utiliser à mes fins. J'ai t: dataTable elemet qui itère via les résultats et les montre sur ma page. Voici la situation:comment placer href dynamique à partir d'un tag dans JSF?

<t:dataList id="dataTable" value="#{manBean.fullResult}" var="element" first="0" rows="10"> 
<div class="photos"> 
<a href=" IN THIS PLACE I WANT DYNAMIC CONTENT "><img src="myimages/IN THIS TOO.../image.jpg"</a> 
</div> 
... 
</t:dataList> 

J'ai essayé code comme ceci:

<a href="myimages/#element[0]/image.jpg"><img src="myimages/#element[0]/image.jpg"</a> 

. #element [0] est un élément de la liste de résultats de dataTable et contient des valeurs comme: 0,1,2,3 ... etc. cela termine l'erreur que je ne pouvais pas utiliser # {...} dans un template. Que devrais-je faire? Quelqu'un connaît une bonne solution pour cela?

+0

quelle est l'erreur, et quand exactement il apparaît. – Bozho

+0

L'erreur est sur la page de jsp quand j'essaye de taper: - i can't use dynamic element in a tag like #{element}. it has to be something like . Mais je veux avoir le contenu dynamique là – problemgenerator

Répondre

2

Si vous utilisez JSF JSP, utilisez <h:outputLink> et <h:graphicImage> au lieu de <a> et <img>.

<h:outputLink value="myimages/#{element}/image.jpg"> 
    <h:graphicImage value="myimages/#{element}/image.jpg" /> 
</h:outputLink> 

Si vous utilisez JSF sur Facelets, vous pouvez simplement utiliser EL dans le texte du modèle.

<a href="myimages/#{element}/image.jpg"> 
    <img src="myimages/#{element}/image.jpg" /> 
</a> 
+0

Vous avez eu raison. Quand j'utilise des facelets, je peux utiliser des éléments dynamiques dans une étiquette. Cordialement pour vous! – problemgenerator