2017-02-26 57 views
1

我的主要servlet包含进入mysql数据库并接收数据。使用freemarker将表格打印到html上

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{ 

     e.printStackTrace(); 
    } 
    DatabaseAccess.closeConnection(con); 
    } 

我viewtables.ftl

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>IMDB SEARCHER</title> 
<link href="css/style.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
</body> 
</html> 

我有麻烦如何打印结果表到HTML,而使用freemarker的。我正在使用imdb数据库,并尝试在用户搜索它时将电影表打印到我的html中。

回答

0

您必须将结果集的数据放入root,然后处理模板。

我将创建一个类

public class Row{ 
    String id, name, year, rank; 
    //constructor, getters and setters follow 
} 

填写行

List<Row> rows = new ArrayList<Row>(); 
while(rs.next()) { 
    Row row = new Row(rs.getString("id"),rs.getString("name"),rs.getString("year"),rs.getString("rank")); 
    rows.add(row); 
} 
root.put("rows", rows); 

现在的数组列表中的行列表被访问,你必须把它打印出来在你的模板

<h3>${tableName} search results</h3> 
<table class = 'ResultSet'> 
    <#list rows as row > 
     <tr> 
      <td>${row.id}</td> 
      <td>${row.name}</td> 
      <td>${row.year}</td> 
      <td>${row.rank}</td> 
     </tr> 
    </#list> 
</div>