2016-02-12 2 views
1

Я пытаюсь создать базовую форму в Eclipse с помощью Apache Wicket. Использовал quickstart maven для настройки проекта. Я начал с двух полей формы, имени и пола.Apache Wicket forms with mongodb

import org.apache.wicket.markup.html.WebPage; 
import java.util.*; 
import org.apache.wicket.markup.html.form.DropDownChoice; 
import org.apache.wicket.markup.html.form.Form; 
import org.apache.wicket.model.PropertyModel; 
import org.apache.wicket.markup.html.form.*; 

public class WelcomePage extends WebPage { 

private static final long serialVersionUID = -5223126205489216801L; 

private List<String> genderChoices = new ArrayList<String>(); 

public WelcomePage(){ 
    genderChoices.add("Male"); 
    genderChoices.add("Female"); 
    final USerModel uSerModel = new USerModel(); 

    Form<?> form = new Form("form"); 

    TextField<String> text = new TextField<String>("text", new PropertyModel<String>(uSerModel, "name")); 

    DropDownChoice<String> gender = new DropDownChoice<String>("gender", new PropertyModel<String>(uSerModel, "gender"),genderChoices); 

    Button button = new Button("submit"){ 

     @Override 
     public void onSubmit() { 
      super.onSubmit(); 

      System.out.println("Name :"+ uSerModel.getName()); 
      System.out.println("Gender :"+ uSerModel.getGender()); 

     } 
    }; 

    add(form); 

    form.add(text); 
    form.add(gender); 
    form.add(button); 

} 

} 

И с кодом HTML тоже.

<!DOCTYPE html> 
<html xmlns:wicket="http://wicket.apache.org"> 
<head> 
</head> 
<body> 
<form wicket:id="form"> 

    <input type="text" wicket:id="text" /><br /> 
    <select wicket:id="gender"> 
     <option></option> 
    </select><br /> 
    <input type="submit" wicket:id="submit" /> 


</form> 


</body> 
</html> 

Теперь все это работает нормально на сервере tomcat и отображает вывод в окне консоли.

Проблема возникла, когда мне пришлось вводить значения в форме и значения должны храниться в локальной базе данных. Для этого я использую mongoDb. Поэтому в рамках программы я настраиваю JDBC-драйвер, написал для него код в отдельном классе.

Я не могу найти способ, как я могу направлять все мои входы в мою локальную базу данных mongoDB. Являясь новичком в обеих этих технологиях. Маленькая рука была бы замечательной. Спасибо.

ответ

0

Возможно, вы захотите проверить https://docs.mongodb.org/getting-started/java/. MongoDB не совместим с JDBC. Он имеет собственный драйвер и API. Существуют библиотеки, подобные тем, которые перечислены как картотеки POJO по адресу https://docs.mongodb.org/ecosystem/drivers/java/, которые облегчают работу с объектами BSON.

Удачи!

0

У нас очень хорошо с http://jongo.org/ Его очень хорошая библиотека, которая обертывает драйвер MongoDB и обеспечивает очень хороший синтаксис.

DB db = new MongoClient().getDB("dbname"); 

Jongo jongo = new Jongo(db); 
MongoCollection friends = jongo.getCollection("friends"); 

MongoCursor<Friend> all = friends.find("{name: 'Joe'}").as(Friend.class); 
Friend one = friends.findOne("{name: 'Joe'}").as(Friend.class); 

Friend joe = new Friend("Joe", 27); 
friends.save(joe); 
joe.age = 28; 
friends.save(joe); 
Смежные вопросы