【问题标题】:JSTL is not working after migration to Tomcat 7迁移到 Tomcat 7 后 JSTL 不工作
【发布时间】:2014-05-12 11:35:10
【问题描述】:

大家好,

今天,我已将我的应用程序从 Tomcat 6 迁移到 Tomcat 7。服务器成功启动,没有任何错误消息,但是当我尝试访问之前工作的 JSP 文件之一时。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:if test="${not empty sessionScope.logged_in && not pageContext.session.new && sessionScope.logged_in}" >
     <%@include file="..\menu_pages\login_module\users_panel.jsp" %>
</c:if>

出现此错误。

SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /menu_tiles/users_panel.jsp (line: 3, column: 0) "${not empty sessionScope.logged_in && not pageContext.session.new && sessionScope.logged_in}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [${not empty sessionScope.logged_in && not pageContext.session.new && sessionScope.logged_in}]
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

在我看来,JSTL 库要么未正确加载,要么我缺少其他一些库。 到目前为止,我已经用 javax.servlet.jsp.jstl-1.2.1.jar 替换了旧的 jstlstandart jar javax.servlet.jsp.jstl-api-1.2.1.jar

并将这一行添加到 web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
version="3.0">

您能否告诉我我是否正确加载了 JSTL 库或者是什么导致了这个问题?

Tomcat 版本:7.0.53 JDK:1.7.0_55-b13 操作系统:Windows

提前致谢, 亚历克斯

【问题讨论】:

  • 是的,将这一行“-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true”添加到起始参数解决了这个问题。谢谢小伙伴帮忙! :}
  • np..添加与答案相同的信息

标签: java jsp tomcat jstl tomcat7


【解决方案1】:

您可以为 Tomcat 7 设置一个系统属性

-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true

参考

JSP Error: contains invalid expression. Failed to parse the expression

【讨论】:

    猜你喜欢
    • 2019-04-29
    • 1970-01-01
    • 2014-07-18
    • 2013-06-05
    • 2020-08-05
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2014-01-31
    相关资源
    最近更新 更多