Mysql 使用 freemarker 打印 table 到 html

Mysql printing table onto html using freemarker

我的主要 servlet 包含进入 mysql 数据库和接收数据。

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>

我在使用 freemarker 时无法将结果 tables 打印到 html。我正在使用 imdb 数据库并尝试在用户搜索时将电影 table 打印到我的 html 上。

你要把结果集的数据放入root,然后处理模板。

我会创建一个 Class Row

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>