Java Play2框架初学者。从<;获取所有选定元素;选择>;
我已将select2多选项选择框添加到我的网页中。 如何从该选择字段中获取所有选定元素以将其添加到数组中?(我将选择数限制为5)谢谢 以下是我的代码(我使用的是neo4j图形数据库): Html格式:Java Play2框架初学者。从<;获取所有选定元素;选择>;,java,playframework,playframework-2.0,Java,Playframework,Playframework 2.0,我已将select2多选项选择框添加到我的网页中。 如何从该选择字段中获取所有选定元素以将其添加到数组中?(我将选择数限制为5)谢谢 以下是我的代码(我使用的是neo4j图形数据库): Html格式: <select class="form-control select2-multi" name="interest" multiple="multiple"> @for(interest <- interests){ <option value=
<select class="form-control select2-multi" name="interest" multiple="multiple">
@for(interest <- interests){
<option value="@interest.interestId">@interest.interestName</option>
}
</select>
获取表单数据的Users.class:
private static final Form<BusyUser> userForm = Form.form(BusyUser.class);
//my save method
public static Result save()
{
//the list of interests that I am grabbing from the database
List<Interest> interests= NeoDataProvider.getInterests(play.api.i18n.Lang.defaultLang().language());
Http.MultipartFormData body = request().body().asMultipartFormData();
try {
Form<BusyUser> boundForm = userForm.bindFromRequest();
if(boundForm.hasErrors()) {
flash("error", "!");
return badRequest(createuser.render(boundForm, interests));
}
BusyUser user = boundForm.get();
user.mail=user.user;
user.active=true;
user.lastLogin=new Date();
user.password=BusyUser.bytesToHex(BusyUser.getSha512(user.password));
Node nodeEvent = null;
GraphDatabaseService db= Neo4JHelper.getDatabase();
try ( Transaction tx = db.beginTx() )
{
Index<Node> userIndex = db.index().forNodes(ModelIndex.UsersSecurity);
nodeEvent = db.createNode();
nodeEvent.setProperty(ModelGraphProperty.BusyUser.Active, true);
nodeEvent.setProperty(ModelGraphProperty.BusyUser.Mail, user.mail);
nodeEvent.setProperty(ModelGraphProperty.BusyUser.Password, user.password);
nodeEvent.setProperty(ModelGraphProperty.BusyUser.User, user.mail);
nodeEvent.setProperty(ModelGraphProperty.BusyUser.VisibleUsername, user.visibleUsername);
Node res=userIndex.putIfAbsent(nodeEvent, ModelGraphProperty.BusyUser.Mail, nodeEvent.getProperty(ModelGraphProperty.BusyUser.Mail));
userIndex.add(nodeEvent, ModelGraphProperty.BusyUser.Password, nodeEvent.getProperty(ModelGraphProperty.BusyUser.Password));
userIndex.add(nodeEvent, ModelGraphProperty.BusyUser.User, nodeEvent.getProperty(ModelGraphProperty.BusyUser.User));
//userIndex.putIfAbsent(nodeEvent,ModelGraphProperty.BusyUser.Mail,user.mail);
tx.success();
}
db.shutdown();
flash("success",
String.format("Successfully added user %s", user.user));
return redirect(routes.Application.login());
}catch(Exception ex){
flash("error", "!");
return badRequest(createuser.render(userForm, interests));
}
}
private静态最终表单userForm=Form.Form(BusyUser.class);
//我的保存方法
公共静态结果保存()
{
//我从数据库中获取的兴趣列表
List interests=NeoDataProvider.getInterests(play.api.i18n.Lang.defaultLang().language());
Http.MultipartFormData body=request().body().asMultipartFormData();
试一试{
Form boundForm=userForm.bindFromRequest();
if(boundForm.hasErrors()){
闪光(“错误”,“!”);
返回badRequest(createuser.render(boundForm,interests));
}
BusyUser user=boundForm.get();
user.mail=user.user;
user.active=true;
user.lastLogin=新日期();
user.password=BusyUser.bytesToHex(BusyUser.getSha512(user.password));
节点nodeEvent=null;
GraphDatabaseService db=Neo4JHelper.getDatabase();
try(事务tx=db.beginTx())
{
Index userIndex=db.Index().forNodes(ModelIndex.UsersSecurity);
nodeEvent=db.createNode();
setProperty(ModelGraphProperty.BusyUser.Active,true);
setProperty(ModelGraphProperty.BusyUser.Mail、user.Mail);
setProperty(ModelGraphProperty.BusyUser.Password、user.Password);
setProperty(ModelGraphProperty.BusyUser.User、User.mail);
nodeEvent.setProperty(ModelGraphProperty.BusyUser.VisibleUsername,user.VisibleUsername);
Node res=userIndex.putIfAbsent(nodeEvent,ModelGraphProperty.BusyUser.Mail,nodeEvent.getProperty(ModelGraphProperty.BusyUser.Mail));
添加(nodeEvent、ModelGraphProperty.BusyUser.Password、nodeEvent.getProperty(ModelGraphProperty.BusyUser.Password));
添加(nodeEvent、ModelGraphProperty.BusyUser.User、nodeEvent.getProperty(ModelGraphProperty.BusyUser.User));
//userIndex.putIfAbsent(nodeEvent、ModelGraphProperty.BusyUser.Mail、user.Mail);
成功();
}
db.shutdown();
闪光(“成功”,
String.format(“已成功添加用户%s”,user.user));
返回重定向(routes.Application.login());
}捕获(例外情况除外){
闪光(“错误”,“!”);
返回badRequest(createuser.render(userForm,interests));
}
}
您只需读取所有多选数据,而不必填写表单中的name=“interestedIn”name=“intrestedIn[]”并声明List intrestedIn=new ArrayList()在BusyUser.java中的code>之后,您可以遍历列表并获得如下数据
String value=null;
for(int i=0;i<intrestedIn.size();i++){
value=intrestedIn.get(i);
//do whatever you want to do with this value
System.out.println(value);
}
字符串值=null;
for(int i=0;iit不会自动将表单的数组分配给模型中感兴趣的In arrayList。如何将请求中的元素添加到arrayList?
String value=null;
for(int i=0;i<intrestedIn.size();i++){
value=intrestedIn.get(i);
//do whatever you want to do with this value
System.out.println(value);
}