【发布时间】:2011-12-24 18:11:44
【问题描述】:
我整个早上都在用头撞墙,试图弄清楚这一点。
我正在升级一个非常旧的应用程序,但在 JSP 页面中的查询遇到问题。 (我知道,我知道...)
我在
SELECT t1.item AS i1, t2.item AS i2 FROM table t1, table t2
在 JSP 页面中,我遍历结果集并显示信息。但是,i1 和 i2 在结果集中不存在,但 item 和 item 确实存在。使用AS 语法重命名列似乎失败了。有谁知道为什么?
我正在使用 JSTL 1.2。我的库中有api 和impl 罐子。我正在使用 JSP 2.1、Servlet 2.5 servlet 容器(确切地说是 Tomcat 6)。我正在为这个版本的 JSTL 使用(据我所知)正确的命名空间(<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>,
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>)。
上述查询在 JSP 2.0、Servlet 2.4 servlet 容器 (Tomcat 5) 中使用时可以正常工作。我不确定它使用的 JSTL 版本。
当我在 MySQL Workbench 中运行查询时,它也运行良好。
【问题讨论】:
-
这是整个查询吗?您真的打算进行交叉连接吗?
-
我从来没有广泛使用过JSTL SQL taglib,所以我无法从经验中判断。我只能建议尝试降级到JSTL 1.1,因为它似乎在您以前的 Servlet 2.4 容器上运行良好。 JSTL 1.1 应该在 Servlet 2.5 上运行良好。
-
@Icarus,这只是一个例子。甚至“SELECT item AS i FROM table”也失败了。
-
@BalusC 我会试试的。谢谢大佬。
-
我从 Tomcat 5 中获取了 jstl 和标准 jar,并在 Tomcat 6 中使用它们。仍然不行! :(
标签: sql jsp tomcat servlets jstl