EL in einer JSP gestoppt Auswertung
Frage
In einer JSP-Seite (index.jsp):
${requestContext.requestURL} is the URL
zeigt nur den Ausdruck selbst. Es verwendet, um etwas zu bewertende wie " http: //.../somerset/ "
Ich habe das Maven-Projekt mit Maven-Urbild-Webapp Urbild in Eclipse. Die Jetty-Version ist Anlegestelle-6.1.14.
Meine web.xml ist einfach:
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>SomersetServlet</servlet-name>
<display-name>SomersetServlet</display-name>
<description></description>
<servlet-class>com.foo.somerset.SomersetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SomersetServlet</servlet-name>
<url-pattern>/som.do</url-pattern>
</servlet-mapping>
</web-app>
Lösung
Siehe Javascript String.replace (/ \ $ /, str) arbeitet weirdly in jsp Datei für einige mögliche Gründe.
Ihre web.xml sollte Bezug auf Web-app_2_4.xsd Schema enthalten, wie
<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/web-app_2_4.xsd"
version="2.4">
Dies ermöglicht Servlet 2.4 und JSP 2.0 Verarbeitung, die EL enthält.
Btw requestContext
ist nicht gültig implizites Objekt.
Andere Tipps
falsch abgestimmt Anführungszeichen können dieses Verhalten verursachen, wo der Ausdruck nur als String behandelt wird. Ihre IDE normalerweise markieren diese in einer anderen Farbe, wenn dies der Fall ist.
Seien Sie sicher, dass Sie Richtlinie und andere Bibliotheken, die Sie enthalten verwenden
<jsp:root .....
Weitere Informationen über die Definition hier