以下是我使用jstl 1.2在index.jsp中的代码。
<%@ taglib prefix = "c" uri="http://java.sun.com/jstl/core"%>
<% String[] setName = {"Hello", "you", "are", "using", "jstl", "in", "jsp"};
request.setAttribute("getName", setName);
%>
<html>
<body>
<table>
<tr><td>Print</td></tr>
<c:forEach var="itemName" items="#{getName}" >
<tr>
<td>${itemName}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
我期待的输出如下
Print
Hello
you
are
using
jstl
in
jsp
然而,下面是我得到的
Print
#{name}
请告诉我我失踪的地方
下面是我在WEB-INF / lib文件夹中唯一的jar文件 JSTL-1.2.jar
提前致谢
希姆
注意:添加Java和JSP标记作为具有Java和JSP知识的人可能也知道 JSTL ...
答案 0 :(得分:0)
#{name}
不是有效的Java变量引用 - 看起来你将它与JQuery选择器混淆了。
无论如何只想使用items =“$ {name}”
答案 1 :(得分:0)
在JSTL 1.2中,您不希望在纯JSP中使用#{name},这只是一个JSF工件。相反,只需使用$ {name}。
答案 2 :(得分:0)
#{name}
应该像${name}
哦!可能是与JSTL相关的罐子。检查那些要包含在项目中的jar link
答案 3 :(得分:0)
您需要使用表达式语言(例如 $ {name}
)来引荐项目使用#代替姓名前的$
让我知道这是否会解决。
答案 4 :(得分:0)
下面,
<%@ taglib prefix = "c" uri="http://java.sun.com/jstl/core"%>
您指定了错误的JSTL taglib网址。这个适用于JSTL 1.0。在JSTL 1.1之后,路径中需要/jsp
。另请参阅JSTL 1.1 tag library documentation。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
关于代码(以及回复所有那些抱怨使用${}
的重复答案),#{}
语法只能在您定位Servlet 2.5时在JSP内部工作2.1符合Servlet 2.5规范的web.xml
兼容容器。 Tomcat 6.0就是这种容器的一个例子。 #{}
在旧版容器(如Tomcat 5.5或更早版本)上的JSP标记中确实不起作用。
为了清楚起见并避免启动者之间的混淆,最好在JSP标记中始终使用${}
。还可以更好地使用自记录变量名称。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String[] names = {"Hello", "you", "are", "using", "jstl", "in", "jsp"};
request.setAttribute("names", names);
%>
<!DOCTYPE html>
<html lang="en">
<head>
<title>JSTL demo</title>
</head>
<body>
<table>
<tr><td>Print</td></tr>
<c:forEach items="${names}" var="name">
<tr><td>${name}</td></tr>
</c:forEach>
</table>
</body>
</html>
答案 5 :(得分:0)
以下是我正在使用的最终代码,它正在运行......
发布以便有人可以使用它......明天可能会帮助我;)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<% String[] setName = {"Hello", "you", "are", "using", "jstl", "in", "jsp"};
request.setAttribute("getName", setName);
%>
<html>
<body>
<table>
<tr><td>Print</td></tr>
<c:forEach var="itemName" items="#{getName}">
<tr>
<td>${itemName}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
学习:我使用<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
代替<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>