Java 表单创建具有复杂参数的ebean
我是个新手!2.现在我再也无法解决问题了。我有一个模型实体B,它有一些属性,如id、name和一个更复杂的属性a,具有@manytone关系A本身只有一些属性,如id和name 有点抽象,但希望足够: A:Java 表单创建具有复杂参数的ebean,java,playframework,playframework-2.0,Java,Playframework,Playframework 2.0,我是个新手!2.现在我再也无法解决问题了。我有一个模型实体B,它有一些属性,如id、name和一个更复杂的属性a,具有@manytone关系A本身只有一些属性,如id和name 有点抽象,但希望足够: A: @Entity public class A extends Model { @Id public Long id, @Required public String name; ... public static void create(
@Entity
public class A extends Model {
@Id
public Long id,
@Required
public String name;
...
public static void create(Exam exam) {
exam.save();
}
}
@Entity
public class B extends Model {
@Id
public Long id,
@Required
public String name;
@Required
public A a;
...
public static void create(Exam exam) {
exam.save();
}
}
B:
@Entity
public class A extends Model {
@Id
public Long id,
@Required
public String name;
...
public static void create(Exam exam) {
exam.save();
}
}
@Entity
public class B extends Model {
@Id
public Long id,
@Required
public String name;
@Required
public A a;
...
public static void create(Exam exam) {
exam.save();
}
}
这两个模型的控制器非常简单,同样抽象:
public class BCtrl extends Controller {
static Form<Exam> bForm = Form.form(B.class);
public static Result bs() {
return ok(views.html.b.render(B.all(), bForm));
}
public static Result newB() {
Form<Exam> filledForm = bForm.bindFromRequest();
List<Lecturer> lecturers = Lecturer.all();
if (filledForm.hasErrors()) {
return badRequest(views.html.b.render(Exam.all(), filledForm));
}
else {
B.create(filledForm.get());
return redirect(routes.BCtrl.bs());
}
}
}
@(bs: List[B], bForm: Form[B])
@import helper._
@import helper.twitterBootstrap._
@main("B") {
<ul>
@for(b <- bs) {
<li>
@b.name
</li>
}
</ul>
@helper.form(action = routes.ExamCtrl.newExam()) {
@inputText(examForm("name"))
@inputText(examForm("a"))
<input type="submit" value="Create">
}
}
公共类BCtrl扩展控制器{
静态形式B形式=形式.形式(B类);
公共静态结果bs(){
返回ok(views.html.b.render(b.all(),bForm));
}
公共静态结果newB(){
Form filledForm=bForm.bindFromRequest();
列出讲师=讲师。全部();
if(filledForm.hasErrors()){
返回badRequest(views.html.b.render(Exam.all(),filledForm));
}
否则{
B.create(filledForm.get());
返回重定向(routes.BCtrl.bs());
}
}
}
我的问题来了。Scala HTML文件与表单一起创建一个新的B。再次摘要:
public class BCtrl extends Controller {
static Form<Exam> bForm = Form.form(B.class);
public static Result bs() {
return ok(views.html.b.render(B.all(), bForm));
}
public static Result newB() {
Form<Exam> filledForm = bForm.bindFromRequest();
List<Lecturer> lecturers = Lecturer.all();
if (filledForm.hasErrors()) {
return badRequest(views.html.b.render(Exam.all(), filledForm));
}
else {
B.create(filledForm.get());
return redirect(routes.BCtrl.bs());
}
}
}
@(bs: List[B], bForm: Form[B])
@import helper._
@import helper.twitterBootstrap._
@main("B") {
<ul>
@for(b <- bs) {
<li>
@b.name
</li>
}
</ul>
@helper.form(action = routes.ExamCtrl.newExam()) {
@inputText(examForm("name"))
@inputText(examForm("a"))
<input type="submit" value="Create">
}
}
@(bs:List[B],B形式:Form[B])
@导入助手_
@导入helper.twitterBootstrap_
@主要(“B”){
@(b好的,明白了,通过
@inputText(examForm("a.id"))
我能够提供objectA的id。使用带有所有可能A选项的HTML select元素有助于选择正确的一个