在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>
答案 0 :(得分:8)
出于某些可能的原因,请参阅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">
这启用了servlet 2.4和jsp 2.0处理,包括EL。
Btw requestContext
无效的隐式对象。
答案 1 :(得分:1)
错误匹配的引号可能会导致此行为,表达式只会被视为字符串。如果是这种情况,您的IDE通常会以不同的颜色突出显示它。
答案 2 :(得分:0)
确保您拥有指令,以及您使用的其他库
<jsp:root .....
有关此处定义的更多信息