Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
playframework,需要一个很好的创建、更新、删除示例,使用相同的html页面_Playframework - Fatal编程技术网

playframework,需要一个很好的创建、更新、删除示例,使用相同的html页面

playframework,需要一个很好的创建、更新、删除示例,使用相同的html页面,playframework,Playframework,playframework中的示例似乎缺少我的示例。booking是最接近的,但它是CRUD模块的一个示例,并且使用了这个parent()调用,我也不确定它会做什么。有没有不带CRUD模块的示例 此外,所有验证示例都对http POST的方法调用“render”……这是首选方法,而不是重定向到带有页面中错误的GET吗 我正在寻找的能够回答所有这些问题的具体例子是 使用editentity.html创建新对象 带错误的重新加载程序 并使用editentity.html编辑旧对象(显然与上面的ht

playframework中的示例似乎缺少我的示例。booking是最接近的,但它是CRUD模块的一个示例,并且使用了这个parent()调用,我也不确定它会做什么。有没有不带CRUD模块的示例

此外,所有验证示例都对http POST的方法调用“render”……这是首选方法,而不是重定向到带有页面中错误的GET吗

我正在寻找的能够回答所有这些问题的具体例子是

  • 使用editentity.html创建新对象
  • 带错误的重新加载程序
  • 并使用editentity.html编辑旧对象(显然与上面的html页面相同)
这方面有好的例子吗

这里有更多注释。。。 我们从呼叫页面(或不同的呼叫页面)获得此信息 用于添加项目

<a href="@{Project.editProject(null)">Add Project</a>
<a href="@{Project.editProject(project.name)">Edit</a>
注:该????是我需要传入projectDbo的地方,但该方法只接受projectName。如何让内容重新呈现在页面中

我认为必须有一种方法来调用editProject并设置projectDbo也需要被页面访问,或者没有一种方法可以做到这一点?如何做这个模式

TRY#5:我确实尝试过使用params.flash并调用Project.editProject(Project.name),但不幸的是,我的表单都没有填写,用户丢失了他填写的所有工作。我唯一能做的就是使用render(action,{params list与action参数不匹配})

(预订示例中有很多ajax,很难看到其中的示例)

这是一个如此常见的用例,我本以为会有一个例子

谢谢, 院长

有什么原因吗

没有告诉你关于这件事你需要知道的一切?特别是“validation.keep()”方法。

有什么原因吗


没有告诉你关于这件事你需要知道的一切?特别是“validation.keep()”方法。

我为布宜诺斯艾利斯Java用户组的一次演示构建了这个示例

它只是一个基本的crud应用程序,具有验证、一对多关系、装置、测试、标记、twitter引导,以及部署到多个PaaS云计算

这是github回购协议:

详细的分步教程:

应用程序已启动并在上运行

,

是基于,这也是你正在寻找的

关于使用相同的表单,以下是应用程序中的代码:

public static void form(Long id) {
    final Event event;
    if (id==null) {
        event = new Event();
    } else {
        event = Event.findById(id);
    }
    render(event);
}

public static void save(@Valid Event event) {
    if (validation.hasErrors()) {
        render("@form", event);
    }
    event.save();
    flash.success("event successfully saved!");
    list();
}
我希望它有用

萨卢多斯


Sas

我为布宜诺斯艾利斯Java用户组的一次演示创建了这个示例

它只是一个基本的crud应用程序,具有验证、一对多关系、装置、测试、标记、twitter引导,以及部署到多个PaaS云计算

这是github回购协议:

详细的分步教程:

应用程序已启动并在上运行

,

是基于,这也是你正在寻找的

关于使用相同的表单,以下是应用程序中的代码:

public static void form(Long id) {
    final Event event;
    if (id==null) {
        event = new Event();
    } else {
        event = Event.findById(id);
    }
    render(event);
}

public static void save(@Valid Event event) {
    if (validation.hasErrors()) {
        render("@form", event);
    }
    event.save();
    flash.success("event successfully saved!");
    list();
}
我希望它有用

萨卢多斯

Sas

关于“发布后重定向”的方法,我写了一篇关于这个主题的文章(西班牙语,对不起,你可以试试谷歌翻译)

下面是一个示例应用程序的git回购:

基本上有两种方法:

在不重定向的情况下再次呈现相同的页面(就像在zentalk示例中那样)

优点:

  • 我们不必改变方向
  • 我们没有饼干大小限制问题
  • 代码更清晰、更直观
  • 当我们创建一个项目时,实例化一个对象并在其初始状态下显示它更容易
缺点:

  • 如果出现错误后用户按F5,浏览器将要求确认是否重新提交
将所有数据和错误保存在flash中,并强制重定向

优点:

  • 主要优点是,如果用户在收到错误后按F5键(它只会重复上次重定向到的GET),则可以防止用户发出另一个post
要测试样本,只需发布:

git clone git@github.com:opensas/RedirectAfterPost.git
cd RedirectAfterPost/ 
play run 
关于“发布后重定向”的方法,我写了一篇关于这个主题的文章(西班牙语,对不起,你可以试试谷歌翻译)

下面是一个示例应用程序的git回购:

基本上有两种方法:

在不重定向的情况下再次呈现相同的页面(就像在zentalk示例中那样)

优点:

  • 我们不必改变方向
  • 我们没有饼干大小限制问题
  • 代码更清晰、更直观
  • 当我们创建一个项目时,实例化一个对象并在其初始状态下显示它更容易
缺点:

  • 如果出现错误后用户按F5,浏览器将要求确认是否重新提交
将所有数据和错误保存在flash中,并强制重定向

优点:

  • 主要优点是,如果用户在收到错误后按F5键(它只会重复上次重定向到的GET),则可以防止用户发出另一个post
要测试样本,只需发布:

git clone git@github.com:opensas/RedirectAfterPost.git
cd RedirectAfterPost/ 
play run 

最后我做了我自己的例子,我可以从这里包含的ajax中窃取

景色

POST的重要路由都是通用的,因此它们可以用于所有控制器,而不仅仅是此控制器

# Routes for all ajaxAddEdit and delete stuff
GET     /{controller}/ajaxAddEdit/{id}          {controller}.ajaxAddEdit
GET     /{controller}/ajaxDelete/{id}           {controller}.ajaxDelete

# Catch all
POST       /{controller}/{action}                  {controller}.post{action}
页面的GET路由是唯一的特定路由

有一段时间我有一个实时版本在运行

该示例中唯一缺少的是在POST调用中验证拥有的实体(注意,在我的控制器中,POST的方法被称为postXXX)