<%@ page import="java.util.*" %>
<html>
<body>
<h1 align="center">blablalblalblab</h1>
<p>
<%
List styles = (List)request.getAttribute("styles");
Iterator it = styles.iterator();
while(it.hasNext()) {
out.print("<br>try: " + it.next());
}
%>
</p>
</body>
</html>
执行我的servlet请求后,我收到错误
org.apache.jasper.JasperException:/result.jsp(line:1,column:18)引号符号预期 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
无法找到任何不在正确位置的引号。
答案 0 :(得分:5)
请不要在JSP中使用Java。这就是标准标签库的用途。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<h1 align="center">blablalblalblab</h1>
<p>
<c:forEach items="${styles}" var="style">
<br>try: ${style}
</c:forEach>
</p>
</body>
</html>
更详细:
为什么Java代码库中的Java代码比JSP代码更好?
答案 1 :(得分:5)
确保所有引号都是直引号,而不是弯曲的引号。
答案 2 :(得分:2)
我猜你从某个地方复制粘贴它,确保双引号是正确的。当我从PDF中复制它时,我遇到了同样的问题,一旦我更正了双引号就解决了这个问题。
答案 3 :(得分:1)
你的JSP与Tomcat 6的工作正常。因此,它可能是一些包含相关的问题,或者某些以前编译的类没有被重新编译。
尝试清理Tomcat工作目录,然后重试。
答案 4 :(得分:1)
如果从某处复制了它,请检查“。由于“。”,我有相同的错误。
<%@ taglib uri =“ http://java.sun.com/jsp/jstl/core” prefix =“ c”%> <%@ page isELIgnored =” false”%>
错误的双引号是错误的。将其更改为“,它将起作用。
答案 5 :(得分:0)
虽然我同意Scott A的使用JSTL而不是将Java直接放入JSP的警告,但这个问题值得进一步研究。我刚刚第一次遇到这个问题,不得不掏一点回答。
从技术上讲,错误意味着它所说的。你在某处遗漏了一些引用。最简单的就是你的h1标签,如果它是:
&lt; h1 align = center&gt;
而不是你拥有的
&lt; h1 align =“center”&gt;
显然,您粘贴的代码段中没有任何内容缺少引号,所以我会探讨一些事情。
首先,it.next()的输出是什么样的?因为你正在列入一个名为样式的列表,我想知道是否有东西让jasper认为它是一个样式标记而不是你试图呈现的文本。
其次,我会探索Pradeep的答案,看看当你在stackoverflow上粘贴它时,如果有一些微妙的问题粘贴解决了。具体来说,我会寻找'智能引号'IE浏览器的许多文本编辑器(包括outlook和大多数办公室)喜欢在引用文本的正面和背面使用不同的引号。 IE
'这是引用文字'
成为
`这是引用文字'
可能很难注意到。