【问题标题】:Apache Wicket forms using mongodb使用 mongodb 的 Apache Wicket 表单
【发布时间】:2016-02-12 12:21:29
【问题描述】:

我一直在尝试使用 Apache Wicket 在 Eclipse 中创建一个基本表单。使用 quickstart maven 设置项目。我从两个表单字段开始,姓名和性别。

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 数据库的方法。 我是这两种技术的初学者。一只小手会很棒。谢谢你。

【问题讨论】:

    标签: java apache mongodb maven wicket


    【解决方案1】:

    您可能需要查看https://docs.mongodb.org/getting-started/java/。 MongoDB 不兼容 JDBC。它有自己的驱动程序和 API。 在https://docs.mongodb.org/ecosystem/drivers/java/ 有一些类似于 POJO 映射器的库,它们可以更轻松地处理 BSON 对象。

    玩得开心!

    【讨论】:

      【解决方案2】:

      我们有一个非常好的 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多