2012-09-06 106 views
1

我使用的播放框架(2.0.3),我有这样的表单元素:如何用“ - ”名称获取表单值?

<input type="text" name="element-name" value="" /> 

服务器端,我有一个简单的表格类:

public class MyForm { 
    @Constraints.Required 
    public String elementName; 
} 
当然

,它不起作用。

我该怎么办?是否有注释用名称来表示匹配?

感谢您的帮助!

回答

1
  • 在HTML表单中使用同一个名字:

    <input type="text" name="elementName" value="" /> 
    
  • 或使用单个单词的名称为您的领域
  • 或从DynamicForm

    String el = form().bindFromRequest().get("element-name"); 
    
手动将它绑定
+0

所以我*不*使用与元素“ - ”在自制的Form类? –

+0

我没有尝试,我没有看到任何好的理由,而修复HTML是最快的方法。 – biesior

+0

我无法更改HTML,我需要使用特定的类,我该怎么办? –

1

AFAIK,这是不可能的。

我想你可以使用DynamicForm并自己做验证。

或者你可以尝试这样的事情(不知道是否可行):

Map<String, String> elementNameAsMap = new HashMap<String, String>(); 
// find the HTML input value 
elementNameAsMap.put("elementName", request().body().asFormUrlEncoded().get("element-name")[0]); 

Form<MyForm> myForm = form(MyForm.class).bindFromRequest().bind(elementNameAsMap);