2010-06-12 3 views
3

J'ai la classe A:Comment utiliser <c: out value = ...> taglib

package a; 

public class A { 
private int x = 9; 

public int getX() { 
    return x; 
} 
} 

et le fichier ajsp.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
</head> 
<body> 
<jsp:useBean id = "a" class = "a.A" /> 
<c:out value = "${a.x}" /> 
</body> 
</html> 

quand je le lance, il donne une erreur:

  • org.apache.jasper.JasperException: /ajsp.jsp(11,0) PWC6236: Selon TLD ou directive attribut dans le fichier d'étiquette, valeur de l'attribut n'accepte pas toutes les expressions

si au lieu de <c:out value = "${a.x}" /> j'utilise <jsp:getProperty property="x" name="a"/> ça va parfait. Alors, quel est le problème? Merci avance.

+0

version du taglib jstl utilisez-vous? – mdma

Répondre

8

Votre taglib URI est incorrect, vous utilisez l'URI de l'ancienne bibliothèque de pré-expression, pré-JSP 2.0.

Au lieu de

http://java.sun.com/jstl/core

il devrait être

http://java.sun.com/jsp/jstl/core

+1

Merci. Très bien :) – artaxerxe

+2

En guise d'indice, ne lisez pas les livres/tutoriels JSP/JSTL datant d'avant 2006;) Si vous lisez des tutoriels en ligne, mettez roseindia.net dans la liste des ignorés. C'est un bon: http://courses.coreservlets.com/Course-Materials/csajsp2.html – BalusC

+0

Très bien. Je viens de faire l'erreur spécifiée ... Votre lien est très bon. Merci pour tout. – artaxerxe

Questions connexes