2010-02-24 4 views
1

Créé un nouveau projet Spring MVC utilisant MAven et Im ayant un problème où les attributs modelAttributes ne sont pas substitués sur la page jsp. . Pour exemple,ModelAttributes non accessible sur jsp

<%@ page session="false"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<%@ page contentType="text/html" %> 

Hello Worlds ${location} is ${weathers} 
<c:out value="${location}"/> 

affiche

Hello Worlds ${location} is ${weathers} 
${location} 

au lieu de

Hello Worlds Omaha is Cold 
Omaha 

Je devine que je manque un pot, je suit dans la liste des dépendances mvn:

<dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.geronimo.specs</groupId> 
     <artifactId>geronimo-servlet_2.4_spec</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.4</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring</artifactId> 
     <version>2.0.7</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>2.5.5</version> 
    </dependency> 

Répondre

3

Je suppose que votre conteneur de servlets utilise JSP pre-2.0, où EL est ignoré par défaut. Vérifiez ce qui a été fourni avec.

Quoi qu'il en soit, vous devez spécifier les éléments suivants:

<%@ page isELIgnored="false" %> 
4

Je cite un answer je fournis avant le problème de EL ne fonctionne pas:

Avec d'autres termes, l'EL l'expression n'est pas évaluée? Cela peut avoir une ou plusieurs des causes suivantes:

  1. Le serveur d'applications en question ne prend pas en charge JSP 2.0. Le web.xml n'est pas déclaré comme servlet 2.4 ou supérieur.
  2. Le @page est configuré avec isELIgnored=true. Le fichier web.xml est configuré avec <el-ignored>true</el-ignored> dans <jsp-config>.

Dans votre cas particulier, 1) peut être rayé. 3) et 4) sont trop évidents pour être surveillés, ce qui peut probablement être rayé aussi bien. Laissé derrière le point 2). Votre web.xml est apparemment déclaré avec une version plus ancienne. Assurez-vous que votre web.xml est déclarée comme au moins Servlet 2.4:

<web-app 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

    <!-- Here you go. --> 

</web-app> 
Questions connexes