2011-02-02 46 views
0

作为标题说,我试图从HTML选择表单检索选定的项目。我试图用下面的代码来做,但它不起作用!城市值总是NULL,但地址栏返回正确的值...检索数据从HTML选择表单与Play框架

的form.html:

#{extends '/Admin/admin.html' /} 
#{form @save(id)} 

    #{ifErrors} 
     <p class="error"> 
      Please correct these errors. 
     </p> 
    #{/ifErrors} 

    <p> 
     <label>Adresse</label> 
     <input type="text" name="adress" value="${flash.adress}" id="adress" /> 
     <span class="error">#{error 'adress' /} 
    </p> 
    <p> 
     <label>Ville</label> 
     <select size="1" > 
      #{list items:cities, as:'city'} 
       <option name="city" id="city" value="${flash.city}">${city}</option> 
      #{/list} 
     </select> 
     <span class="error">#{error 'city' /} 
    </p> 
    <p> 
     <input type="submit" value="Publier l'annonce" /> 
    </p> 

#{/form} 

保存方法:

public static void save(long id, String adress, @Required Place city){ 
    System.out.println(city); 
    Admin.index(); 
} 

回答

6

您必须命名您的选择标记不是选项标签,你必须使用正确的字段:

<select size="1" name="city.id"> 
      #{list items:cities, as:'city'} 
       <option value="${city.id}">${city.name}</option> 
      #{/list} 
</select> 

看到该文档的更多信息,结合:Doc

0
#{select 'city', value:C2, id:'select1'} 
#{option 'C1'}City1#{/option}#{option 'C2'}City2#{/option}#{option 'C3'}City3#{/option} 
#{/select}