EL表达式在Tomcat 5.5中不会执行,但在tomcat 6.0.20中可以工作

2024-02-09

我正在使用 spring-web-mvc 开发我的应用程序...

现在在我的控制器中它返回如下:

  public class InterfacesManageController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception  {

    Map<String, Object> myModel = new HashMap<String, Object>();

    myModel.put("interfacesList", this.interfacesSecurityProcessor.findByAll(0, null, null, null));

    return new ModelAndView("common", "model", myModel);
}

现在,我的 JSP 包含以下代码:

<c:forEach items="${model.interfacesList}" var="prod">
     <c:out value="${prod.id}"/> <c:out value="${prod.name}"/><br><br>
</c:forEach>

现在,当我在拥有 tomcat 6.0.20、ognl 2.6.11 的 Windows 平台上执行此操作时,它会给出我想要的精确输出,如下所示:

117 eth1

118 eth1

119 eth0

但是,当我在 unix (cent os) 平台(我有 tomcat 5.5)中部署 war 文件时,ognl 表达式不会被执行,并给出如下输出:

${prod.id} ${prod.name}

任何人都可以解决,ognl表达式版本和tomcat版本应该有什么问题吗?

提前致谢...


但是,当我在 Unix (CentOS) 平台(我有 Tomcat 5.5)中部署 war 文件时,EL 表达式不会被执行,并给出如下输出:

${prod.id} ${prod.name}

换句话说,EL 表达式根本不被计算并且显示为纯文本?这可能有以下一种或多种原因:

  1. 相关应用程序服务器不支持 JSP 2.0。
  2. The web.xml未声明为 Servlet 2.4 或更高版本。
  3. The <%@page %>JSP 的配置为isELIgnored=true.
  4. The web.xml配置有<el-ignored>true</el-ignored> in <jsp-config>.

Tomcat 5.5是Servlet 2.4/JSP 2.0,所以#1可以被刮掉。我认为在部署之前您没有更改 webapp 中的任何内容,因此 #3 和 #4 可能会被划伤。现在剩下#2。也许您将 Tomcat 6.0 声明为 Servlet 2.5,而 Tomcat 5.5 只能理解 Servlet 2.4。这样,一切都会变得一团糟,因为 Tomcat 将回退到最低兼容性模式。您需要重新声明web.xml as 小服务程序2.4这样它就可以在 Tomcat 5.5 和 6.0 中运行。该声明应如下所示:

<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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

    <!-- Here you go. -->

</web-app>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EL表达式在Tomcat 5.5中不会执行,但在tomcat 6.0.20中可以工作 的相关文章

随机推荐

  • 将变量类型的 json 转换为字符串

    我正在从 API 响应中读取 json 但遇到了一个问题 因为 json 值中有多种数据类型 字符串 null bool 此外 某些键的值可以是字符串或 null 这使得将数据读入类型变得更加困难 我想将所有内容都转换为字符串以便于处理 我
  • .net 应用程序无法连接到 DB2 数据库

    错误 08001 IBM SQL30081N 检测到通信错误 使用的通信协议 TCP IP 使用的通信 API SOCKETS 检测到错误的位置 10 66 180 30 通信功能检测到错误 连接 协议特定错误代码 10061 SQLSTA
  • 忽略 Cordova iOS 启动画面配置

    我刚刚将我的 iOS Cordova 初始屏幕重新配置为启动 Storyboard 以支持 iPhone X 这可行 但现在我在启动 Storyboard 和应用程序的第一个屏幕之间出现白色闪光 我认为这是因为在视口完全加载之前闪屏被隐藏
  • 如何在 ASP.NET 中使用 Profile?

    我尝试学习 asp net 配置文件管理 但我在下面添加了 xml 名字 姓氏等 但我不能写个人资料 如果我尝试编写 Profile 属性 卓尔我的编辑简介 错误 1 当前上下文中不存在名称 配置文件 C Documents and Set
  • 根据 GUID 获取站点 URL? (SharePoint)

    有没有代码示例向我展示如何在我知道 guid 的情况下获取站点的 url 目前 我有此代码来获取网站集中的所有网站 private void getSites SPSite oSiteCollection SPContext Current
  • 如何将“for”循环的结果保存到单个变量中? [复制]

    这个问题在这里已经有答案了 我有一个for loop for x in range 1 13 print This was the average temperature in month number str x in Boston 20
  • jQuery Chosen div 落后于 Twitter Bootstrap 手风琴

    我在 Twitter Bootstrap 手风琴中使用 jQuery Chosen 插件 我遇到的问题是所选插件的下拉菜单出现在div的手风琴菜单 我尝试设置z index到更高的值 但这并没有达到目的 我举了一个我的问题的例子 http
  • VBScript WScript.Shell Run() - 系统找不到指定的文件

    我正在尝试编写一个使用 WScript Shell 的 VBScript vbs 脚本Run 方法 但 Run 似乎找不到我传入的文件 我已将脚本简化为以下代码 该代码将重现结果 可以将其复制到文本编辑器 另存为test vbs然后跑了 T
  • scikit-learn中predict与predict_proba的区别

    假设我创建了一个模型 并且我的目标变量是0 1 or 2 看来如果我使用predict 答案是 0 1 或 2 但是如果我使用predict proba 我得到一行 每行 3 列 如下所示 例如 model Classifier It co
  • 动态 JSP 编译中导入失败

    我们有一个大型 Web 应用程序安装 使用 Apache Tomcat Jasper 和 jboss 在开发环境中 JSP 是动态编译的 不幸的是 有一个包特别是即时编译似乎无法导入 对于某些类 使用完全限定的引用而不是导入是可行的 但不适
  • Masonry JS 重叠项目

    我这里有一个非常奇怪的问题 推荐链接已删除 第一行产品项目与第二行中的项目重叠 砌体项目位于主页下方页脚上方 如您所见 Chrome 看起来有所不同 在火狐浏览器中 看起来不错 这是它在我的 chrome 中的样子 http clip2ne
  • Python属性错误:类型对象'_socketobject'没有属性'gethostbyname'

    我正在尝试在我的程序中执行此操作 dest socket gethostbyname host 我已经包括了这一行 from socket import 在文件的开头 我收到此错误 属性错误 类型对象 socketobject 没有属性 g
  • 在控制台中更改 Google Cloud Compute Engine 实例的内部静态 IP 地址

    我有一个现有的云计算引擎实例 该实例被错误地分配了错误的静态内部 IP 我无法找到使用控制台或其他方式将内部 IP 地址修改为正确值的方法 我尝试保留一个新的静态内部 IP 这很容易 但无法将其分配给现有资源 我说的是 Google Con
  • numpy.digitize 返回的值超出范围?

    我使用以下代码将数组数字化为 16 个容器 numpy digitize array bins numpy histogram array bins 16 1 我预计输出在 1 16 范围内 因为有 16 个 bin 然而 返回数组中的一个
  • 如何在Matlab中的多维数组中应用corr2函数?

    假设我有两个矩阵 A 和 B A rand 4 5 3 B rand 4 5 6 我想应用函数 corr2 来计算相关系数 corr2 A 1 B 1 corr2 A 1 B 2 corr2 A 1 B 3 corr2 A 1 B 6 co
  • Android:java.io.IOException:主机名未验证

    运行我的应用程序时出现 java io IOException 主机名未验证 我该如何解决它 java io IOException Hostname 178 61 62 140 was not verified 01 03 16 34 3
  • 更改 multiprocessing.Queue 中的缓冲区大小

    所以我有一个生产者和消费者通过无限大小的队列连接的系统 但是如果消费者重复调用 get 直到抛出 Empty 异常 它不会清除队列 我相信这是因为一旦套接字缓冲区已满 消费者端队列中将对象序列化到套接字中的线程就会被阻塞 因此它会等待直到缓
  • Jetpack Compose,如何更改脚手架中 .showSnackbar() 中小吃栏操作的颜色?

    因此 我在脚手架内显示了一个小吃栏 使用scaffoldState snackbarHostState showSnackbar 方法 虽然 撤消 操作的颜色是深紫色 但我想将其更改为其他颜色 我知道我可以将其显示为自定义组件 尽管我想在c
  • smack RosterListener 在 Android 中不起作用

    目前我正在使用 Xmpp SMACK API 工作聊天应用程序 但是当我调用 addrosterListener 时 我没有获得当前状态 我必须参考http www igniterealtime org builds smack docs
  • EL表达式在Tomcat 5.5中不会执行,但在tomcat 6.0.20中可以工作

    我正在使用 spring web mvc 开发我的应用程序 现在在我的控制器中它返回如下 public class InterfacesManageController implements Controller public ModelA