0

フレームワークをプレイするのは初めてです。javaコントローラーの配列変数をscalaテンプレートに渡したいです。

try {
            String userName = "data";

            String password = "data";

            String url = "jdbc:mysql://localhost/playdb";

            // Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Connection con = DriverManager.getConnection(url, userName, password);
            Statement stmt = con.createStatement();
            System.out.println("Connected database successfully...");
            String strSelect = "select * from computer";

            //statement.setString(1, name);
            ResultSet rset = stmt.executeQuery(strSelect);

            while(rset.next()) {   // Move the cursor to the next row
                String name = rset.getString("name");

                int    id   = rset.getInt("id");
                System.out.println( name + ", " + id);
                // ++rowCount;
            }


        }
        catch(SQLException e) {
            e.printStackTrace();
            System.out.println("cant Connected database successfully...");
        }
        Form<Computer> computerForm = form(Computer.class);
      return ok(
        createForm.render(computerForm,rset)
    );

とスカラテンプルテ

    @(computerForm: Form[Computer],createFormRset: String)

エラーが発生しました

cannot find symbol [symbol: variable rset] [location: class controllers.Application]

rset値を scala templateに渡す必要があります。しかし、私は私を助けてください方法がわかりません

4

2 に答える 2

0

基本的に、任意の Java オブジェクトをテンプレートに渡すことができます。Play フレームワークにはビューの型チェックがあるため、rset を宣言する必要があります。Play に付属しているコンピューター データベースのサンプルを見ると、Page オブジェクトと 3 つの文字列が渡されていることがわかります。

@(currentPage: com.avaje.ebean.Page[Computer], currentSortBy: String, currentOrder: String, currentFilter: String)

ただし、値を rset から computerForm オブジェクトまたは別の POJO にコピーし、それをテンプレートに渡す方が簡単な場合があります。

于 2013-10-25T14:04:10.697 に答える