1)我想将AngularJS与Play Framework 2.1.0结合使用,将Play服务JSON内容作为RESTful服务器后端,它从版本1.x迁移到2.x后出现,无法为静态HTML服务内容来自使用以下方法的Public文件夹:
Routes.conf:
GET / staticFile:/public/index.html
Run Code Online (Sandbox Code Playgroud)
这导致Controller方法调用预期异常被引发.
我发现在Play 2.1.0中工作的一种方法是在Controller中编写一个Action方法,如下所示:
public static Result index() {
return ok(Play.application().getFile("public/index.html"));
}
Run Code Online (Sandbox Code Playgroud)
这是最好的方法还是有更优雅和功能性的解决方案?
2)在使用客户端JavaScript框架而不是基于Scala的模板引擎的方法中是否存在任何潜在的缺点或"陷阱"?
任何指针都将非常感激.
我在从现有数据库表(SQL Server 2008 R2)返回数据时遇到问题.我可以成功验证并连接到数据库,我创建了一个模型,我试图映射到特定的表,然后作为测试尝试返回行计数,行计数总是返回0.我想也许我不明白Play/Ebean数据库连接如何工作.目前我有以下内容:
型号 - Data.java:
package models;
import javax.persistence.*;
import play.db.ebean.*;
@Entity
@Table(name="someTable")
public class Data extends Model {
private static final long serialVersionUID = 1L;
@Id
public int someKey;
public String someCol;
public static Finder<Integer,Data> find = new Finder<Integer,Data>( Integer.class, Data.class );
}
Run Code Online (Sandbox Code Playgroud)
控制器 - Index.java
package controllers;
import java.util.*;
import models.Data;
import play.mvc.*;
public class Index extends Controller {
static int rowCount = Data.find.getMaxRows();
public static Result index() {
Result res = ok(rowCount);
return res;
} …Run Code Online (Sandbox Code Playgroud)