Я добавил на свою веб-страницу select2 mutliple select box. https://select2.github.io/examples.html#multiplePlay2 Framework новичок. Получить все выбранные элементы от <select>
Как я могу захватить все выбранные элементы из этого выбора поля, чтобы добавить их в массив? (Я ограничивал число выбирает 5) Спасибо!
Вот мой код (я использую Neo4j базы данных графика):
Html форма:
<select class="form-control select2-multi" name="interest" multiple="multiple">
@for(interest <- interests){
<option value="@interest.interestId">@interest.interestName</option>
}
</select>
BusyUser модель:
@Entity
public class BusyUser {
public long id;
@Id
@Constraints.Required(message = "*")
@Constraints.Email(message = "?")
public String user;
@Constraints.Required(message = "*")
@Column(unique=true)
public String visibleUsername;
//@Transient
public String password;
//@Constraints.Required(message = "*")
public String name;
//@Constraints.Required(message = "*")
@Constraints.Email(message = "?")
@Column(unique=true)
public String mail;
public Boolean active;
@Formats.DateTime(pattern = "yyyy-MM-dd HH:mm:ss")
public Date lastLogin;
public String authToken;
public String language;
public BusyUser(){}
public BusyUser(Node node)
{
this.id=node.getId();
this.password=(String)node.getProperty(ModelGraphProperty.BusyUser.Password,"");
this.mail=(String)node.getProperty(ModelGraphProperty.BusyUser.Mail,"");
this.user=(String)node.getProperty(ModelGraphProperty.BusyUser.User,"");
this.visibleUsername=(String)node.getProperty(ModelGraphProperty.BusyUser.VisibleUsername,"");
this.user=(String)node.getProperty(ModelGraphProperty.BusyUser.UserName,"");
this.language=(String)node.getProperty(ModelGraphProperty.BusyUser.Language,"");
this.authToken=(String)node.getProperty(ModelGraphProperty.BusyUser.Token,"");
}
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));
}
}
спасибо много! –
он не присваивает автоматически массив из формы в список интересующих объектов из моей модели. Как добавить элементы из запроса в arrayList? –