방금 플레이 프레임 워크를 시도하고 템플릿 play-java-intro을 사용하여 샘플 애플리케이션을 실행했습니다.그냥 플레이 프레임 워크를 시도, 제출 된 양식의 값이 null입니다
응용 프로그램의 색인 페이지는 "이름"텍스트 상자와 제출 단추로 구성됩니다. 제출 버튼을 클릭하면 텍스트 상자의 "이름"값이 "사람"테이블에 저장됩니다 (데이터베이스는 H2를 사용 중입니다). 그러나 "Name"값을 컨트롤러로 보내지 못했습니다. 컨트롤러에서 Null 값으로 반환되었습니다.
모델 : Person.java
@Entity
public class Person extends Model {
@Id
public String id;
public String name;
}
보기 : index.scala.html
@()
@main("Welcome to Play") {
<script type='text/javascript' src='@routes.Assets.at("javascripts/index.js")'></script>
<ul id="persons"></ul>
<form method="POST" action="@routes.Application.addPerson()">
<input type="text" name="name" />
<button>Add Person</button>
</form>
}
감사관 : Application.java
public class Application extends Controller {
public static Result index() {
return ok(index.render());
}
public static Result addPerson() {
//The person.name is null here
Person person = Form.form(Person.class).bindFromRequest().get();
person.save();
return redirect(routes.Application.index());
}
...
}
컨트롤러에서 "Add Person (사용자 추가)"버튼을 클릭하면 addPerson 함수가 호출됩니다. person
개체는 Form.form(Person.class).bindFromRequest().get();
에서 반환됩니다. 문제는 반환 된 person
개체의 name
속성이 null 인 것입니다.
누구나 코드에 어떤 문제가 있는지 알고 계십니까?
'Person'을 다시보기로 전달합니까? – kingdamian42
나는 당신이 무엇을 의미하는지 정말로 이해하지 못한다. 코드는 원래 그대로이고 나는 그 부분을 바꾸지 않았다. 이클립스에서 디버거로 확인한 결과,'Person.name'은 null입니다. – null
저는 과거에 스칼라 연극에서만 작업 했으므로 여기서 추억을 남깁니다. 입력 이름'Person.name'을 만들려고 했습니까? 또한 어떤 버전의 게임을 사용하고 있습니까? 2.x.x? – kingdamian42