簡體   English   中英

java playframework如何在視圖中顯示數據庫結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM