Play Framework:不兼容的类型:java.util.List<models.Vehicle> 无法转换为 java.lang.String
Play Framework: incompatible types: java.util.List<models.Vehicle> cannot be converted to java.lang.String
我正在 Play framework 2.5 中尝试一个简单的视图,但我一直收到此编译时错误 java.util.List<models.Vehicle> cannot be converted to java.lang.String
我已经试过了this answer
scala.collection.immutable.List<String> ls = JavaConverters.asScalaBufferConverter(scripts).asScala().toList();
但是没有.toList()
功能,无法识别。
这是我的代码:
Aplication.java
package controllers;
import models.Vehicle;
import play.mvc.Controller;
import play.mvc.Result;
import scala.collection.JavaConverters;
public class Application extends Controller {
public Result index() {
// this does not work
// scala.collection.immutable.List<Vehicle> ls = JavaConverters.asScalaBufferConverter(Vehicle.finder.all()).asScala().toList();
return ok(views.html.index.render(Vehicle.finder.all())); //here is the error
}
}
index.scala.html
@(vehicles: java.util.List[Vehicle])
@main("Welcome to Play") {
<header>
<hgroup>
<h1>Dashboard</h1>
<h2>Vehicles</h2>
</hgroup>
</header>
<ul>
@for(vehicle <- vehicles) {
<li>@vehicle.getModel</li>
}
</ul>
}
相关代码在Vehicle.java
package models;
import javax.persistence.*;
import java.util.List;
@Entity
public class Vehicle extends BaseEntity {
public static Finder<Long, Vehicle> finder = new Finder<Long, Vehicle>(Vehicle.class){};
@Column(nullable = false)
String model;
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
非常感谢任何帮助。
好的,万一以后有人发现这个,试试
activator clean compile
在您的项目文件夹中。
只做 compile
根本没有帮助。
我正在 Play framework 2.5 中尝试一个简单的视图,但我一直收到此编译时错误 java.util.List<models.Vehicle> cannot be converted to java.lang.String
我已经试过了this answer
scala.collection.immutable.List<String> ls = JavaConverters.asScalaBufferConverter(scripts).asScala().toList();
但是没有.toList()
功能,无法识别。
这是我的代码:
Aplication.java
package controllers;
import models.Vehicle;
import play.mvc.Controller;
import play.mvc.Result;
import scala.collection.JavaConverters;
public class Application extends Controller {
public Result index() {
// this does not work
// scala.collection.immutable.List<Vehicle> ls = JavaConverters.asScalaBufferConverter(Vehicle.finder.all()).asScala().toList();
return ok(views.html.index.render(Vehicle.finder.all())); //here is the error
}
}
index.scala.html
@(vehicles: java.util.List[Vehicle])
@main("Welcome to Play") {
<header>
<hgroup>
<h1>Dashboard</h1>
<h2>Vehicles</h2>
</hgroup>
</header>
<ul>
@for(vehicle <- vehicles) {
<li>@vehicle.getModel</li>
}
</ul>
}
相关代码在Vehicle.java
package models;
import javax.persistence.*;
import java.util.List;
@Entity
public class Vehicle extends BaseEntity {
public static Finder<Long, Vehicle> finder = new Finder<Long, Vehicle>(Vehicle.class){};
@Column(nullable = false)
String model;
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
非常感谢任何帮助。
好的,万一以后有人发现这个,试试
activator clean compile
在您的项目文件夹中。
只做 compile
根本没有帮助。