为什么JSTL在URI中定义为/ jstl / core_rt但在嵌入式jetty中没有/ jsp / jstl / core时有效?

时间:2013-07-10 20:16:04

标签: jetty jstl embedded-jetty

我似乎无法让我的JSTL库在我的嵌入式Jetty项目中工作。

我的taglib线似乎让我感到悲伤,当我使用不同的URI时,它都会发生变化。这是我想要使用的行:

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

我首先尝试使用普通URI http://java.sun.com/jsp/jstl/core,但会抛出错误:

  

org.apache.jasper.JasperException:/bad.jsp(1,61)PWC6188:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:http://java.sun.com/jsp/jstl/core

但是当我将URI更改为http://java.sun.com/jstl/core_rt时。它有效!

我注意到的另一件事是,如果我有旧的JSTL 1.0网址(http://java.sun.com/jstl/core),我会收到以下错误:

  

org.apache.jasper.JasperException:/bad-el.jsp(4,0)PWC6236:根据标记文件中的TLD或属性指令,属性值不接受任何表达式

现在我注意到另一个预包装的东西,这一切都在IntelliJ中有效!这让我相信存在类路径问题,但是当我将它们嵌入战争中时,库应该是完全相同的。我想我错过了什么。

那么,我的问题归结为什么,我需要什么库,或者我需要什么配置才能使其正常工作?

以下是我试图遵循的当前问题,但未解决我的问题:

我有一个sample project,可以结账并试用。

1 个答案:

答案 0 :(得分:0)

如果您希望JSTL uri工作,则应该知道jstl是两个文件。

  1. jstl-1.2.jar
  2. jstl-api-1.2.jar

所以可以在互联网上寻找它们,或者去Maven仓库下载罐子

相关问题