在JSP页面(index.jsp)中:
${requestContext.requestURL} is the URL
只显示表达式本身。它曾经被评估为“ http://.../somerset/”之类的东西
我在Eclipse中使用maven-archetype-webapp原型创建了Maven项目。 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>
最佳答案
出于某些可能的原因,请参见Javascript String.replace(/\$/,str) works weirdly in jsp file。
您的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">
这将启用包含EL的Servlet 2.4和jsp 2.0处理。
Btw
requestContext
无效的隐式对象。关于java - JSP中的EL停止评估,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/504071/