JSP scriptlet极其模糊的错误

时间:2014-07-28 14:25:56

标签: jsp scriptlet

我会把它放在这里。我确实没有这个

的线索
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<title>Employee table</title>
</head>
<body>
<%! import net.multivision.employee.Employee; %>
<%! import java.util.List; %>
<% List<Employee> table = (List<Employee>)session.getAttribute("table"); %>
<table class="table table-striped">
<tr>
<th>id</th>
<th>Name</th>
<th>Age</th>
<th>Dept</th>
<th>Salary</th>
<th>Start Date</th>
<th>Type</th>
</tr>
<% for(Employee e : table){ %>
<tr>
<td><%= e.getId() %></td>
<td><%= e.getName() %></td>
<td><%= e.getAge() %></td>
<td><%= e.getDept() %></td>
<td><%= e.getSalary() %></td>
<td><%= e.getStartdate() %></td>
<td><%= e.getType() %></td>
</tr>
<% } %>
</table>
</body>
</html>

错误是&lt;%}%&gt;并阻止我发布/编译。所有错误都是http://puu.sh/auyYc/2b40efef1f.png

即使错误是基于jsp之外的东西,我根本不知道在哪里看。

2 个答案:

答案 0 :(得分:0)

尝试使用以下语法更改导入语句:

<%@ page import="net.multivision.employee.Employee" %>
<%@ page import="java.util.List" %>

有关网页指示的相关文档

声明声明一个变量或方法,以便稍后在JSP中使用。指令为容器提供了有关当前页面的说明。

答案 1 :(得分:0)

问题是因为您将JSP编码为servlet。在JSP中&lt; %%&gt;的范围在%&gt;内结束,在你的情况下,你在一个片段中创建一个循环签名,并试图在另一个片段中关闭它,根据经验,根本不知道循环。

尝试使用标记库

将标记库定义为

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

然后将循环代码更新为

<c:forEach items="${table}" var="e">
<tr>
<td><%= e.getId() %></td>
<td><%= e.getName() %></td>
<td><%= e.getAge() %></td>
<td><%= e.getDept() %></td>
<td><%= e.getSalary() %></td>
<td><%= e.getStartdate() %></td>
<td><%= e.getType() %></td>
</tr>
</c:forEach>