2016-04-14 37 views
0

Görünümümüzü bindFromRequest() kullanarak modelle bağlamaya çalıştım ancak görünüm ve model bağlama değil, model boş değer veriyor.Framework 2.5: Görünüm modeli bağlama isteği 'null' döndürür 'null'

 <form class="login-form" action="@routes.LoginController.authenticate" method="post"> 

     <h1><a href="@routes.LoginController.index" id="logo"><span> 
     <img src="@routes.Assets.at("/images/logo-main.jpg")" alt="PUAthletics" height="42" > 
     <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("/images/logo-main.jpg")"/></span></a></h1> 
     <p class="loginMessage "> 
     @message 
     </p> 
     <input type="email" name="email" placeholder="Email" value="@form("email").value" /> 
     <input type="password" name="password" placeholder="Password"/> 
     <button type="submit" class="submit-upld">Login</button> 
    </form> 
+0

"Login" model sınıfını – Anton

+0

paylaşabilir ve ayrıca lütfen görüntüleyebilirsiniz –

cevap

0

Im sizi tahmin burada NPE var:

Bu benim denetleyicisi Bu Model Login.java Bu oturum edilir Görünüm login.html

import com.avaje.ebean.Model; 

import javax.persistence.Entity; 
import javax.persistence.Id; 

@Entity 
public class Login extends Model { 

    @Id 
    public String id; 
    public String email; 
    public String password; 

} 

olduğunu

package controllers; 

import play.mvc.*; 
import play.data.Form; 
import views.html.*; 
import models.Login; 
import controllers.*; 
import com.avaje.ebean.Model; 

public class LoginController extends Controller { 

    public Result authenticate() { 
     Form<Login> loginForm = Form.form(Login.class).bindFromRequest(); 

     // password value is return null. 
     System.out.println("password :: "+loginForm.get().password); 
     if (loginForm.hasErrors()) { 
      return ok(login.render("Error in login" ,Form.form(Login.class))); 
     } else { } 
    } 
} 

geçerli:

System.out.println("password :: "+loginForm.get().password); 

Öyleyse, bunun nedeni formun hata vermesidir. Formunuzun geçerli olup olmadığını ilk olarak kontrol etmelisiniz:

if (loginForm.hasErrors()) 

ve daha sonra modelinizi alın. Geçersiz veri türünün formunuza geçirildiği senaryoyu düşünün. Bu durumda, Play, modelinizi yapılandıramaz.