java playframework 如何在视图中显示数据库结果
java playframework how can I display database results in the view
我是 playframework 2.38 和 JDBC 的新手,但我已经成功连接到 MySQL 并且可以插入,但是我不知道如何使用 [=28 向浏览器显示记录=] 或播放框架。我知道我很接近这是我的控制器..
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>
我需要在视图中放入什么来显示我的数据库记录?我在网上看到的所有信息都是关于 play-scala 而不是关于 Java.
您得到的不是错误 - 这只是结果集的 toString
表示 - 这就是您在编写此行时所做的 rs.toString()
.
假设您通过查询找到了您所在的城市,现在您在这里:
rs.getString("city");
您可以仅将其用作视图的 参数 - 您 'feed' 带有数据的视图,并且视图显示此数据。所以你可以像这样改变它:
String myCity = rs.getString("city");
return ok(cityTemplate.render(myCity));
现在,您的视图(名为 cityTemplate.scala.html
)必须能够 'consume' 您为其提供的参数,因此它会像这样:
@(city: String)
<html>
<head>
<title>Play project get database record </title>
</head>
<body>
<h1>Your city is @city</h1>
</body>
</html>
注意带有 @(city: String)
的第一行 - 这就是您所说的“我的视图将接受一个参数,类型为 String
,名称为 city
。然后您可以通过在其前面添加 @
来使用此参数。您可以在此处了解有关 Play Framework 中模板的更多信息:https://www.playframework.com/documentation/2.3.x/JavaTemplates
我是 playframework 2.38 和 JDBC 的新手,但我已经成功连接到 MySQL 并且可以插入,但是我不知道如何使用 [=28 向浏览器显示记录=] 或播放框架。我知道我很接近这是我的控制器..
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>
我需要在视图中放入什么来显示我的数据库记录?我在网上看到的所有信息都是关于 play-scala 而不是关于 Java.
您得到的不是错误 - 这只是结果集的 toString
表示 - 这就是您在编写此行时所做的 rs.toString()
.
假设您通过查询找到了您所在的城市,现在您在这里:
rs.getString("city");
您可以仅将其用作视图的 参数 - 您 'feed' 带有数据的视图,并且视图显示此数据。所以你可以像这样改变它:
String myCity = rs.getString("city");
return ok(cityTemplate.render(myCity));
现在,您的视图(名为 cityTemplate.scala.html
)必须能够 'consume' 您为其提供的参数,因此它会像这样:
@(city: String)
<html>
<head>
<title>Play project get database record </title>
</head>
<body>
<h1>Your city is @city</h1>
</body>
</html>
注意带有 @(city: String)
的第一行 - 这就是您所说的“我的视图将接受一个参数,类型为 String
,名称为 city
。然后您可以通过在其前面添加 @
来使用此参数。您可以在此处了解有关 Play Framework 中模板的更多信息:https://www.playframework.com/documentation/2.3.x/JavaTemplates