EL в JSP перестал оценивать - PullRequest
       10

EL в JSP перестал оценивать

2 голосов
/ 02 февраля 2009

На странице JSP (index.jsp):

${requestContext.requestURL} is the URL

просто показывает само выражение. Раньше оно оценивалось как « http: //.../somerset/»

Я создал проект Maven с помощью архетипа maven-archetype-webapp в Eclipse. Версия Jetty - jetty-6.1.14.

Мой web.xml прост:

<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>

Ответы [ 3 ]

8 голосов
/ 02 февраля 2009

См. Javascript String.replace (/ \ $ /, str) работает странно в файле jsp по некоторым возможным причинам.

Ваш web.xml должен содержать ссылку на схему web-app_2_4.xsd, например

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

Включает обработку сервлетов 2.4 и jsp 2.0, включая EL.

Кстати requestContext не является допустимым неявным объектом.

1 голос
/ 02 февраля 2009

Неправильно подобранные кавычки могут вызывать такое поведение, когда выражение просто обрабатывается как строка. Ваша IDE обычно выделяет это другим цветом, если это так.

0 голосов
/ 02 февраля 2009

Убедитесь, что у вас есть директива и другие библиотеки, которые вы используете

<jsp:root .....

Подробнее об определении здесь

http://java.sun.com/products/jsp/tags/12/syntaxref123.html

...