2014-10-28 49 views
2

我有一個HTML表單並希望通過我的Controller處理它。但是,如果我想訪問一個字段,例如登錄或打印出來,它總是給我一個空值Playframework DynamicForm始終爲空值

有人知道爲什麼嗎?

控制器:

public static Result register() { 
    DynamicForm users = Form.form().bindFromRequest(); 
    Logger.info(users.get("vorname")); 
    return ok("hallo " + users.get("vorname")); 
} 

查看:

<form role="form" class="form-horizontal" action="@routes.Signup.register()" method="POST"> 
     <div class="form-group"> 
      <label for="vorname" class="col-sm-2 control-label">Vorname</label> 
      <div class="col-sm-10"> 
       <div class="col-xs-4"> 
        <input type="text" class="form-control" id="vorname" placeholder="Vorname"> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="nachname" class="col-sm-2 control-label">Nachname</label> 
      <div class="col-sm-10"> 
       <div class="col-xs-4"> 
        <input type="text" class="form-control" id="nachname" placeholder="Nachname"> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="email" class="col-sm-2 control-label">Email-Adresse</label> 
      <div class="col-sm-10"> 
       <div class="col-xs-4"> 
        <input type="email" class="form-control" id="email" placeholder="Email-Adresse"> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="password" class="col-sm-2 control-label">Passwort</label> 
      <div class="col-sm-10"> 
       <div class="col-xs-4"> 
        <input type="password" class="form-control" id="password" placeholder="Passwort"> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="rpassword" class="col-sm-2 control-label">Passwort wiederholen</label> 
      <div class="col-sm-10"> 
       <div class="col-xs-4"> 
        <input type="password" class="form-control" id="rpassword" placeholder="Passwort wiederholen"> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="geschlecht" class="col-sm-2 control-label">Geschlecht</label> 
      <div class="col-sm-10"> 
       <div class="col-xs-4"> 
        <select class="form-control" id="geschlecht"> 
         <option>Männlich</option> 
         <option>Weiblich</option> 
        </select> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-sm-offset-2 col-sm-10"> 
       <div class="col-xs-4"> 
        <button type="submit" class="btn btn-default">Registrieren</button> 
       </div> 
      </div> 
     </div> 
    </form> 

回答

1

我認爲你應該使用:

DynamicForm form = new DynamicForm().bindFromRequest(); 

我也鼓勵您使用表單助手只是爲了確保一切正確配置。 https://playframework.com/documentation/2.3.x/JavaFormHelpers

編輯。是的,你應該使用絕對使用幫手。您忘記在您的vorname輸入中添加「name」屬性。這個屬性,而不是id在處理表單時很重要。