2011-09-10 18 views
5

Ho due problemi. Il primo è che sto usando JSP e che non posso risolvere. Il secondo è che sto diventando un comportamento strano.

Quando ho messo questo nel metodo doGet() della mia servlet

req.setAttribute("test", "SARASA"); 
req.getRequestDispatcher("WEB-INF/main.jsp").forward(req, resp); 

E questo in "WEB-INF/main.jsp":

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<%= request.getAttribute("test") %> 
<c:out value="${test}"/> 

l'output è:

SARASA ${test} 

Non so cosa sto facendo male ... quale può essere la ragione di questo?


Aggiornamento: ho risolto aggiungendo

<%@ page isELIgnored="false" %> 

In ogni JSP in cui ne avevo bisogno. Stranamente, non avevo bisogno di questo in un altro progetto usando alcuni file web.xml e pom.xml molto simili (sto usando Maven).

+0

prova rappresentano ciò ?? – confucius

+0

test è il nome dell'attributo che stavo impostando (vedere il servlet), mappato a una stringa che dice "SARASA" – eordano

+0

Vedere anche parte inferiore della nostra pagina wiki JSTL: http://stackoverflow.com/tags/jstl/info – BalusC

risposta

10

Il tuo web.xml sta probabilmente facendo riferimento alla specifica Servlet 2.3, in cui isELIgnored è impostato su true per impostazione predefinita. Se si fa riferimento alla specifica Servlet 2.4, invece, isELIgnored verrà impostato su false per impostazione predefinita.

Se si desidera fare riferimento le specifiche Servlet 2.4, l'intestazione web.xml dovrebbe essere simile a questo:

<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"> 
+0

Grazie. Il problema era che non c'era alcun riferimento a qualcosa ... non l'ho visto perché era nel doctype !!! (Di solito lo ignoro) eordano

Problemi correlati