Lenguaje de expresión en JSP no funciona

Soy nuevo en JSP y uso el lenguaje Expression. Estoy usando Eclipse Galileo con la versión 2.5 y el servidor Tomcat 6. Solo quiero pedirle a mi Simple Expression Language que no imprima el vale como si escribiera ${1>2} que suponga que es falso, pero muestra ${1>2} solo cuando muestra la página. Pero cuando estoy usando 2}"/> está imprimiendo falso de manera correcta. Creo que hay un problema con la biblioteca de tags. Por favor amablemente sugiérame el motivo de esto, le doy un código de muestra para que pueda entender dónde me estoy equivocando:

       Expression Language Example   Is 1 greater than 2 using cout :2}"/> Is 1 greater than 2 without using cout: ${1>2}   

Actualización según las respuestas, aquí hay más información:

Estoy mostrando mi web.xml como se ve:

   ScriptLessJsp  index.html index.htm index.jsp default.html default.htm default.jsp    ElServlet ElServlet com.servlet.El.ElServlet   ElServlet /ElServlet    Collections Collections com.servlet.El.Collections   Collections /go   

Y en mi carpeta lib he agregado solo jstl.jar para que pueda usar la etiqueta para mostrar pero mi EL para el texto de la plantilla no funciona.

Cito de una respuesta que proporcioné antes al problema de que EL no funciona:

En otras palabras, la expresión EL no se evalúa? Eso puede tener una o más de las siguientes causas:

  1. El servidor de aplicaciones en cuestión no es compatible con JSP 2.0.
  2. El web.xml no está declarado como Servlet 2.4 o superior.
  3. La página @page está configurada con isELIgnored=true .
  4. El archivo web.xml está configurado con true en .

En su caso particular, EL funciona en taglibs, pero no en texto de plantilla, así que sospecho que es causado por el punto 2. Asegúrese de que su web.xml esté como mínimo como Servlet 2.4. Como Tomcat 6.0 es compatible con Servlet 2.5, recomendaría declarar su web.xml como Servlet 2.5:

    

Otra causa rara que he visto en esto es que hay una colisión con EL JAR en el classpath. Asegúrese de no haber copiado ningún archivo JAR específico de un servidor de aplicaciones en WEB-INF/lib o, lo que es peor, JRE/lib .

Como ya está usando Eclipse y Tomcat, revisaría los pasos de desarrollo que utilizó para todo esto. Asegúrese de estar utilizando “desarrolladores de Eclipse para Java EE ” y de haber integrado la instancia de Tomcat en la vista Servidores de Eclipse y de haber creado un proyecto de Web dynamic configurado como “Servlet 2.5” que hace uso de la instancia de Tomcat. De esta forma, todo debería ir automáticamente (Eclipse tomará las librerías del servidor de aplicaciones en la propia ruta de comstackción y autogenerará un web.xml compatible con Servlet 2.5).

Actualización: según su actualización: los servlets com.servlet.El parecen sospechosos. ¿Qué es exactamente lo que hacen? Analizando EL? Quítelos y vuelva a intentarlo.

establecer <% @ page isELIgnored = "false"%> me ayudó. No sé por qué fue la raíz del problema en mi caso. no está claro por qué todavía

En mi caso, generé una aplicación web mediante el generador de arquetipos maven, utilizo maven-archetype-webapp. Necesito cambiar dos cosas:

  1. en web.xml, cambie la cabecera a:

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd “version =” 2.5 “>

  2. de forma predeterminada, eclipse genera el archivo jsp con la cabecera:

    ! DOCTYPE html PUBLIC “- // W3C // DTD HTML 4.01 Transitional // ES” ” http://www.w3.org/TR/html4/loose.dtd “>

Solo elimínalo.

BalusC lo cubre , pero agregaré estos comentarios:

 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

El espacio de nombres JSTL TLD debe incluir un “jsp” (como se indica arriba). Dado que este error en el espacio de nombres puede deberse a seguir instrucciones anteriores, consulte la documentación más reciente para asegurarse de que no haya incluido ninguna biblioteca obsoleta en WEB-INF/lib . Varias tecnologías que solían estar separadas ahora están incluidas en el contenedor (el lenguaje EL es uno).

Como comentario, generalmente usaría palabras clave como gt lugar de > y lt lugar de < - esto es más amigable para XML y su tipo.

Tuve el problema de que con la línea en mi JSP, el gato comenzó con eclipse no interpretó el EL correctamente. Usar el war y copiarlo en la carpeta webapps y luego iniciar tomcat con la línea de comando hizo el trabajo.

Entonces, obviamente, el plugin de eclipse tomcat tiene un problema con ?!