我正在尝试使用spring + thymeleaf创建一个新用户。
我的模特就是这样:
class Person {
String name;
int preferences;
}
class Preferences {
public static final int no_preferences_checked = 0;
public static final int receive_newsletter = 1;
public static final int receive_notification_of_new_jobs = 2;
public static final int show_email_to_everyone = 4;
public static final int show_skype_to_everyone = 8;
}
在HTML表单中,将向用户显示4个复选框(上面的Preferences类中每个可能的值一个。
Person类的首选项字段是用户显式检查的复选框值的总和。
比方说,例如,如果用户同时选中了receive_newsletter和show_email_to_everyone,则首选项字段必须为5。
编辑:我想我不清楚我的问题。让我重新说一下:
我不知道如何编写HTML表单,以便 Spring将自动创建Person类,并在负责接收帖子的方法中填写所有数据。
当没有涉及复选框时,很容易得到Spring生成的模型(我遵循这个tutorial并且一切正常)但是一旦我开始使用复选框,它就不再适用于我了。字段偏好永远不会被填满。
有什么建议吗?
答案 0 :(得分:0)
我认为,有一种方法可以实现这种特殊情况,你需要在/中使用javascript。
我的建议:
创建一个javascript文件,在这个文件中你有一个checkbox
监听器
$(':checkbox').change(function() {
var sum = 0;
// Your Code
$('#preferences').val(sum);
});
在此方法中,您可以选中选中的复选框,并阅读选中复选框的值。计算这些值并将计数值分配给preferences
输入。
可以隐藏此输入。