我正在使用Play 1.2.5
我有一个User
模型如下:
@Entity
public class User extends Model {
public String name;
public String city;
public String country;
public Integer zip;
}
registration.html
文件是这样的:
#{extends 'main.html' /}
#{set title:'Home' /}
<form action="@{Application.registerUser()}" method="get">
Name: <input type="text" name="txtName"><br>
City: <input type="text" name="txtCity"><br>
Country: <input type="text" name="txtCountry"><br>
Zip: <input type="text" name="txtZip"><br>
<input type="submit" value="Submit">
</form>
以下是Application Controller中的registerUser
方法:
public static void registerUser(String txtName,String txtCity,String txtCountry,Integer txtZip){
//some business logic
render();
}
上面的签名工作正常但我必须在我不想要的方法中添加很多参数。
在一个表单中,我有超过15个字段,在这种情况下15个参数太多!!!
因此,我需要知道如何将用户输入值绑定到模型(例如上面显示的用户模型),并将其作为方法的user
对象参数或作为带有键的地图传递给控制器。价值对(这更容易)?
请让我知道这件事。
此致
答案 0 :(得分:2)
将输入字段重命名为user.name
,user.city
等,并将控制器方法更改为
public static void registerUser(User user)
the documentation中描述了这一点。