Play 2.1.1有一个令人沮丧的问题
我重新访问了一个工作正常的现有页面并添加了几个简单的select语句(不是多选)。无论我做什么,值都没有绑定到bindRequest()
上的Form这是我到目前为止所做的事情。
alert(document.forms[0].mySelectField.value)
之前(我可以看到值)play reload, play clean, play clean-all, play complile
(没用)request().body().asFormUrlEncoded()
。它甚至没有看到选择字段(除了上面第3点的情况)。MyForm中的mySelectField是私有的。但它有公共吸气剂/设定者。
这是一个简单的问题,但我现在已经在这4个小时了。有什么建议?感谢。
查看:
<input type="text" value="Y" name="mySelectField" />
<!--
<select id="mySelectField" name"mySelectField" style="width: 180px;">
<option value="">All</option>
<option value="Y">Yes</option>
<option value="N">No</option>
</select>
-->
形式:
private String mySelectField;
public String getMySelectField() {
return mySelectField;
}
public void setMySelectField(String mySelectField) {
this.mySelectField= mySelectField;
}
控制器:
Form<MyForm> myFormP = Form.form(MyForm.class);
MyForm myForm = myFormP.bindFromRequest().get();
System.out.println("B. "+myForm.getMySelectField());
System.out.println("Form: "+request().body().asFormUrlEncoded());
答案 0 :(得分:1)
就Play而言,文本字段和选择之间没有区别。两者都是请求中的编码值。我建议你使用chrome或firefox中的dev工具来查看提交的请求中的差异。