使用freemarker将mysql打印到html上

时间:2017-02-26 20:30:49

标签: javascript html servlets 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时如何将结果表打印到html上时遇到问题。我正在使用imdb数据库,并尝试在用户搜索时将电影表打印到我的html上。

1 个答案:

答案 0 :(得分:0)

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

我会创建一个类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>