【发布时间】:2010-04-21 13:56:21
【问题描述】:
我使用的是 RAD 6.0,我将 jstl.jar 放在我的应用程序的 lib 文件夹下。当我使用 JSTL 标记时,它不会给出任何编译错误。但是当我尝试运行应用程序时,核心标签不起作用。
【问题讨论】:
我使用的是 RAD 6.0,我将 jstl.jar 放在我的应用程序的 lib 文件夹下。当我使用 JSTL 标记时,它不会给出任何编译错误。但是当我尝试运行应用程序时,核心标签不起作用。
【问题讨论】:
RAD 6 / WAS 6 是针对 Servlet 2.4 的。因此:
确保您已将jstl.jar 和standard.jar 中的standard.jar 都包含在webapp 的类路径(/WEB-INF/lib 文件夹)中。
确保您按照JSTL 1.1 tlddoc 在 JSP 文件顶部声明标记库(单击任何库以查看它们)。例如
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
特别注意路径中/jsp 的存在,以及名称中_rt 前缀的不存在。
确保您已根据 Servlet 2.4 规范声明 web.xml(因此不是 Servlet 2.3 或更早版本)。
<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">
【讨论】:
web.xml 中元素的顺序在 Servlet 2.4 中是严格的。最简单的方法是让 RAD 为您自动生成 web.xml。
您应该将 jstl.jar 添加到特定项目的项目属性中的 Java 构建路径中。
请注意,Java 构建路径和 MANIFEST.MF(用于运行时类路径)在某些时候可能会不同步。因此最好使用同样支持 WebSphere Application Server 6.0 的 Rational Application Developer 7.0 或 7.5。
此外,Rational Application Developer 6.0 已经不再支持: http://www-111.ibm.com/software/support/lifecycle/PLCDetail.wss?brand=rational&synkey=W170532D29019M02-L603472G19375Q17-M054243E02973V75&synkey=W170532D29019M02-L603472G19375Q17-R377236X92964B60&synkey=W170532D29019M02-T872435L09150T44-O941388U48112Q95&ibm-view=View+details
本网站上的帖子是我自己的,不一定代表 IBM 的立场、策略或意见
【讨论】:
/WEB-INF/lib就够了。它已经是类路径/构建路径的一部分。