<table border="0">
<tr>
<th>ID</th>
<th>Date</th>
<th>To Account</th>
<th>From Account</th>
<th>Amount</th>
<th>Notes</th>
</tr>
<% ArrayList list = (ArrayList) request.getAttribute("data")%>
<% for(int i=0;i<list.size();i++){%>
<tr>
<td> <%= list.get(i)%></td>
</tr>
<% } %>
</table>
我的netbeans IDE中的for循环行出错了。这表明我需要一个&#34 ;;&#34;在某个地方,但我确实让它纠正了,不是吗?
发布后我发现我在指令jsp标签中缺少分号。但是现在我收到一个页面缺少请求对象的错误?怎么会这样?我以为这是一个隐含的对象?
答案 0 :(得分:1)
{
块}
中的语句必须以;
结尾,就像在Java中一样,因为它们确实是Java语句。 JSP
正在被容器(Tomcat)翻译并编译成Java代码(Servlet)
正确的表格是<% ArrayList list = (ArrayList) request.getAttribute("data"); %>
仅供参考,在JSP
中,声明可以采用三种不同的形式:
<% int a = 1; %> // variable created for each HTTP request
<%! int b = 2; %> // variable created for each servlet instance
<%! static c = 3; %> // static variable shared by all instances of servlet
以任何形式,都必须使用;
另请注意,另一方面,表达式<%= %>
不是Java语句,因此表达式块<%= ... %>
不会最后不需要分号。
另请确保您已在JSP
页面顶部添加了对ArrayList的导入,因为默认情况下JSP
页面只能访问java.lang.* package
<%@ page import="java.util.ArrayList"%>
答案 1 :(得分:0)
您在for
循环行上收到错误,因为您没有用分号关闭前一个语句。这一个:
<% ArrayList list = (ArrayList) request.getAttribute("data")%>
最后应该有一个分号,如下所示:
<% ArrayList list = (ArrayList) request.getAttribute("data");%>