2010-09-24 6 views
1

J'ai un .jsp page qui commence parBalise personnalisée n'évaluant pas les expressions; c et les balises fmt évaluent les expressions

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 
<%@ taglib uri="/WEB-INF/mytags.tld" prefix="mytags" %> 

l'en-tête de mytags.tld ayant le contenu suivant:

<taglib> 
<tlib-version>1.0</tlib-version> 
<jsp-version>1.2</jsp-version> 

Les expressions sont pris en charge par les balises de base, de sorte que lorsque je fais quelque chose comme ce qui suit:

<c:out value="${myPageBean.firstName}"/> 

l'expression est évaluée comme prévu.

Cependant, lorsque j'essaie de faire évaluer une expression par une balise personnalisée, le fichier .jsp refuse de la compiler.

<mytags:sayHello firstName="${myPageBean.firstName}"/> 

Si les expressions fonctionnaient nulle part sur la page, je serais un temps plus facile de tri ce, mais est-il logique que les balises de base se comportent comme prévu, alors que mes balises personnalisées ne le font pas? Je travaille avec Tomcat 4.1

+0

Postez votre fichier mytags.tld et votre fichier .jsp. –

Répondre

1

Puisque vous utilisez Tomcat 4.1, vous avez JSP 1.2. Le support EL a été introduit dans la spécification JSP dans la version 2.0, donc vous ne l'avez pas. Par conséquent, JSTL 1.0 utilise sa propre implémentation du langage d'expression accessible via ExpressionUtil.

+0

C'est exactement ce que je cherchais. Merci. – Fil