[英]java playframework how can I display database results in the view
我是playframework 2.38和JDBC的新手,但是我已經成功連接到MySQL並且可以執行插入操作,但是我不知道如何使用jdbc或play框架向瀏覽器顯示記錄。 我確實知道我要關閉,這是我的控制器。
public static Result getlocation()
{
try {
Connection conn = DB.getConnection();
ResultSet rs;
PreparedStatement ps = conn.prepareStatement("select city from zips where city=? limit 1");
ps.setString(1,"Dallas");
rs = ps.executeQuery();
while (rs.next() ) {
rs.getString("city");
}
conn.close();
return ok(rs.toString());
} catch (Exception e) {
System.err.println("Got an exception! ");
}
return ok();
}
我想要做的就是從MySQL獲取一條記錄並將其傳遞給視圖,但出現此錯誤com.mysql.jdbc.JDBC4ResultSet@29ffd4fa我的視圖是這樣
<html>
<head>
<title>Play project get database record </title>
</head>
<body>
</body>
</html>
我需要在視圖中顯示什么才能顯示數據庫記錄? 我在網上看到的所有信息都與可擴展性有關,而與Java無關。
您得到的不是錯誤-這只是結果的toString
表示形式-這是您在編寫此行rs.toString()
時rs.toString()
。
假設您通過查詢找到了您的城市,現在您在這里:
rs.getString("city");
您可以僅將其用作視圖的參數 - 向視圖 “饋入”數據,然后視圖顯示該數據。 因此,您可以像這樣更改它:
String myCity = rs.getString("city");
return ok(cityTemplate.render(myCity));
現在,您的視圖(名為cityTemplate.scala.html
)必須能夠“消耗”您要為其輸入的參數,因此它將像這樣:
@(city: String)
<html>
<head>
<title>Play project get database record </title>
</head>
<body>
<h1>Your city is @city</h1>
</body>
</html>
請注意@(city: String)
的第一行-這就是您所說的“我的視圖將接受名稱為city
String
類型的一個參數。然后可以通過在其前面加上@
來使用此參數您可以在此處了解有關Play框架中模板的更多信息: https : //www.playframework.com/documentation/2.3.x/JavaTemplates
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.