【发布时间】:2011-11-28 12:08:56
【问题描述】:
所以我开始在 Mongo 中使用 play 框架,但在尝试使用简单的 MVC 模式使某些东西正常工作时遇到了问题。我用这个看不到树木的树木,并且知道解决方案一定很简单。
我有一个定义为实体的用户对象:
package models;
import play.modules.mongo.MongoEntity;
import play.modules.mongo.MongoModel;
@MongoEntity("users")
public class User extends MongoModel
{
public String username;
public String email;
public String password;
}
我有一个控制器,里面有以下两种方法:
package controllers;
import models.User;
import play.mvc.Controller;
import play.Logger;
public class UserController extends Controller
{
public static void createUser()
{
User user = new User();
render(user);
}
public static void insertUser(User iUser)
{
Logger.info("Paul 1: " + iUser + " :: " + (iUser == null));
}
}
并且路由定义如下:
POST /insertUser UserController.insertUser
GET /users UserController.createUser
所以我定义了以下页面视图,当我点击保存时,控制器中的代码告诉我 User 对象为空:
#{extends 'main.html' /}
#{set title:'Create User' /}
<form action="@{UserController.insertUser(user)}" method="POST"/>
Username: <input type="text" value="${user.username}" /><br/>
Password: <input type="text" value="${user.password}" /><br/>
Email: <input type="text" value="${user.email}" /><br/>
<input type="submit" value="Add User" />
</form>
我已经尝试了很多关于动作的排列,但无法弄清楚为什么它不起作用。有任何想法吗?非常感谢所有帮助,我知道我错过了一些愚蠢的东西,就是这样。
【问题讨论】:
标签: java mongodb playframework